From 5b2b0d5c76cf2dddeed963726234bcf06f91f449 Mon Sep 17 00:00:00 2001 From: Richard Kimberly Heck Date: Thu, 27 Jul 2023 18:12:54 -0400 Subject: [PATCH] Fix bug #12819. Pop a warning and mark the buffer dirty if the file is deleted from disk. --- src/Buffer.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/Buffer.cpp b/src/Buffer.cpp index 1f90df3ed1..3d3bb538e5 100644 --- a/src/Buffer.cpp +++ b/src/Buffer.cpp @@ -5711,15 +5711,24 @@ void Buffer::Impl::fileExternallyModified(bool const exists) "checksum unchanged: " << filename); return; } + lyx_clean = false; // If the file has been deleted, only mark the file as dirty since it is // pointless to prompt for reloading. If later a file is moved into this // location, then the externally modified warning will appear then. if (exists) - externally_modified_ = true; + externally_modified_ = true; // Update external modification notification. // Dirty buffers must be visible at all times. - if (wa_ && wa_->unhide(owner_)) + if (wa_ && wa_->unhide(owner_)) { wa_->updateTitles(); + if (!exists) { + frontend::Alert::warning( + _("File deleted from disk"), + bformat(_("The file\n %1$s\n" + "has been deleted from disk!"), + from_utf8(filename.absFileName()))); + } + } else // Unable to unhide the buffer (e.g. no GUI or not current View) lyx_clean = true; -- 2.39.5