commit 774bbbe1b6bab98c93800c59cae00615f3f9fdca
Author: Richard Kimberly Heck <[email protected]>
Date:   Mon May 18 00:06:59 2020 -0400

    Fix bug #11405.
    
    We don't actually prevent hidden buffers from being dirty, so we need
    to save them if they are.
    
    (cherry picked from commit b2517d60b8d05ad68c007e120e3b10059d043845)
---
 src/frontends/qt4/GuiView.cpp |   11 ++++++++---
 status.23x                    |    2 ++
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/frontends/qt4/GuiView.cpp b/src/frontends/qt4/GuiView.cpp
index ba4cd78..c4d7e03 100644
--- a/src/frontends/qt4/GuiView.cpp
+++ b/src/frontends/qt4/GuiView.cpp
@@ -2923,6 +2923,14 @@ void GuiView::writeSession() const {
 
 bool GuiView::closeBufferAll()
 {
+
+       for (auto & buf : theBufferList()) {
+               if (!saveBufferIfNeeded(*buf, false)) {
+                       // Closing has been cancelled, so abort.
+                       return false;
+               }
+       }
+
        // Close the workareas in all other views
        QList<int> const ids = guiApp->viewIds();
        for (int i = 0; i != ids.size(); ++i) {
@@ -2934,9 +2942,6 @@ bool GuiView::closeBufferAll()
        if (!closeWorkAreaAll())
                return false;
 
-       // Now close the hidden buffers. We prevent hidden buffers from being
-       // dirty, so we can just close them.
-       theBufferList().closeAll();
        return true;
 }
 
diff --git a/status.23x b/status.23x
index 6a73c73..9c6059f 100644
--- a/status.23x
+++ b/status.23x
@@ -46,6 +46,8 @@ What's new
 - Fix crash when rejecting changes and the cursor is in an inset that will be
   deleted (bug 10316).
 
+- Ask to save hidden dirty documents (bug 11405).
+
 
 * INTERNALS
 
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to