diff --git a/src/frontends/qt4/GuiView.cpp b/src/frontends/qt4/GuiView.cpp index f6bd45dbaf..a1d8e64fc0 100644 --- a/src/frontends/qt4/GuiView.cpp +++ b/src/frontends/qt4/GuiView.cpp @@ -2663,23 +2663,31 @@ bool GuiView::closeBuffer(Buffer & buf) ListOfBuffers::const_iterator it = clist.begin(); ListOfBuffers::const_iterator const bend = clist.end(); for (; it != bend; ++it) { - // If a child is dirty, do not close - // without user intervention - //FIXME: should we look in other tabworkareas? Buffer * child_buf = *it; + if (theBufferList().isOthersChild(&buf, child_buf)) { + child_buf->setParent(0); + continue; + } + + // FIXME: should we look in other tabworkareas? + // ANSWER: I don't think so. I've tested, and if the child is + // open in some other window, it closes without a problem. GuiWorkArea * child_wa = workArea(*child_buf); if (child_wa) { - if (!closeWorkArea(child_wa, true)) { - success = false; + success = closeWorkArea(child_wa, true); + if (!success) break; - } - } else - theBufferList().releaseChild(&buf, child_buf); + } else { + // In this case the child buffer is open but hidden. + // It therefore should not (MUST NOT) be dirty! + LATTEST(child_buf->isClean()); + theBufferList().release(child_buf); + } } } if (success) { // goto bookmark to update bookmark pit. - //FIXME: we should update only the bookmarks related to this buffer! + // FIXME: we should update only the bookmarks related to this buffer! LYXERR(Debug::DEBUG, "GuiView::closeBuffer()"); for (size_t i = 0; i < theSession().bookmarks().size(); ++i) guiApp->gotoBookmark(i+1, false, false); diff --git a/status.21x b/status.21x index ab30ed39d9..221cdbf71b 100644 --- a/status.21x +++ b/status.21x @@ -56,6 +56,8 @@ What's new - Improved example file for the moderncv document class. +- Updated French translation of Linguistics manual. + * BUILD/INSTALLATION @@ -85,6 +87,9 @@ What's new - Fix crash when inserting a line in multline math environment (bug 9902). +- Fix crash when closing buffer one of whose children is also a child of + other master (bug 9907). + - Fix automatic insertion of longtable captions (bug 9692). - Fix setting of nested minipage via the dialog (bug 8716).