rgheck schreef:
On 08/12/2009 02:50 PM, v...@lyx.org wrote:
Author: vfr
Date: Wed Aug 12 20:50:09 2009
New Revision: 30992
URL: http://www.lyx.org/trac/changeset/30992

Log:
Dissect closeBuffer() and saveBufferIfNeeded().

One question....

Modified: lyx-devel/trunk/src/frontends/qt4/GuiView.cpp
============================================================================== --- lyx-devel/trunk/src/frontends/qt4/GuiView.cpp Wed Aug 12 16:58:29 2009 (r30991) +++ lyx-devel/trunk/src/frontends/qt4/GuiView.cpp Wed Aug 12 20:50:09 2009 (r30992)
@@ -1937,7 +1937,7 @@
      for (size_t i = 0; i<  theSession().bookmarks().size(); ++i)
          theLyXFunc().gotoBookmark(i+1, false, false);

-    if (buf.isClean() || buf.paragraphs().empty()) {
+    if (saveBufferIfNeeded(buf)) {
          // save in sessions if requested
          // do not save childs if their master
          // is opened as well
@@ -1950,6 +1950,15 @@
              theBufferList().release(&buf);
          return true;
      }
+    return false;
+}
+
+
+bool GuiView::saveBufferIfNeeded(Buffer&  buf)
+{
+    if (buf.isClean() || buf.paragraphs().empty())
+        return true;
+
      // Switch to this Buffer.
      setBuffer(&buf);

@@ -1983,17 +1992,6 @@
      case 2:
          return false;
      }
-
-    // save file names to .lyx/session
-    if (tolastopened)
-        theSession().lastOpened().add(buf.fileName(), mark_active);
-
-    if (buf.parent())
-        // Don't close child documents.
-        removeWorkArea(currentMainWorkArea());
-    else
-        theBufferList().release(&buf);
-
      return true;
  }
It looks as if that code has simply disappeared?

rh

Yes, that code was duplicated.

if (buffer_is_clean)
  close;
else {
  save
  close
}

and I changed it to:

{
   saveIfNeeded;
   close;
}

saveIfneeded()
{
  if (!buffer_is_clean)
     save;
}

Vicnent

Reply via email to