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