if (!quitWriteBuffer(*it))
return false;
}
+ // now, all buffers have been written sucessfully
+ // save file names to .lyx/session
+ it = bstore.begin();
+ for (; it != end; ++it) {
+ // if master/slave are both open, do not save slave since it
+ // will be automatically loaded when the master is loaded
+ if ((*it)->getMasterBuffer() == (*it))
+ LyX::ref().session().addLastOpenedFile((*it)->fileName());
+ }
return true;
}
{
BOOST_ASSERT(buf);
- // FIXME: is the quitting check still necessary ?
- if (!ask || buf->isClean() || quitting || buf->paragraphs().empty()) {
+ if (!ask || buf->isClean() || buf->paragraphs().empty()) {
release(buf);
return true;
}
if (buf->isUnnamed()) {
if (!writeAs(buf))
return false;
- } else if (buf->save()) {
- LyX::ref().session().addLastFile(buf->fileName());
- } else {
+ } else if (!menuWrite(buf))
return false;
- }
- } else if (ret == 2) {
+ else
+ return false;
+ } else if (ret == 2)
return false;
- }
if (buf->isUnnamed()) {
removeAutosaveFile(buf->fileName());