]> git.lyx.org Git - features.git/commitdiff
Fix bug #12819.
authorRichard Kimberly Heck <rikiheck@lyx.org>
Thu, 27 Jul 2023 22:12:54 +0000 (18:12 -0400)
committerRichard Kimberly Heck <rikiheck@lyx.org>
Thu, 27 Jul 2023 22:13:42 +0000 (18:13 -0400)
Pop a warning and mark the buffer dirty if the file is deleted from disk.

src/Buffer.cpp

index 1f90df3ed18c543572321e84cecb9a288af52ffa..3d3bb538e545ff5d54255e78087f260abf43ed8e 100644 (file)
@@ -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;