* GuiView.cpp (reloadBuffer):

- 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
This commit is contained in:
Jürgen Spitzmüller 2009-10-04 14:21:51 +00:00
parent e5533c552e
commit 42b2fa2acf

View File

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