commit b2517d60b8d05ad68c007e120e3b10059d043845
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.
---
 src/frontends/qt/GuiView.cpp |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp
index ba2951e..87a4f32 100644
--- a/src/frontends/qt/GuiView.cpp
+++ b/src/frontends/qt/GuiView.cpp
@@ -3107,6 +3107,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) {
@@ -3118,9 +3126,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;
 }
 
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to