]> git.lyx.org Git - features.git/commitdiff
* GuiView.cpp (reloadBuffer):
authorJürgen Spitzmüller <spitz@lyx.org>
Sun, 4 Oct 2009 14:21:51 +0000 (14:21 +0000)
committerJürgen Spitzmüller <spitz@lyx.org>
Sun, 4 Oct 2009 14:21:51 +0000 (14:21 +0000)
- make sure a child is re-allocated to its master after reloading (bug 6233).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31510 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/qt4/GuiView.cpp

index 01968506bcf286a61a957b542191ecb938593134..f47d40459b8d10ac043f3a3b9be8adc6b1290127 100644 (file)
@@ -2245,12 +2245,18 @@ void GuiView::reloadBuffer()
 {
        Buffer * buf = &documentBufferView()->buffer();
        FileName filename = buf->fileName();
+       Buffer const * master = buf->masterBuffer();
+       bool const is_child = master != buf;
        // The user has already confirmed that the changes, if any, should
        // be discarded. So we just release the Buffer and don't call closeBuffer();
        theBufferList().release(buf);
        buf = loadDocument(filename);
        docstring const disp_fn = makeDisplayPath(filename.absFilename());
        docstring str;
+       // re-allocate master if necessary
+       if (is_child && theBufferList().isLoaded(master)
+           && buf->masterBuffer() != master)
+               buf->setParent(master);
        if (buf) {
                buf->updateLabels();
                setBuffer(buf);