]> git.lyx.org Git - lyx.git/blobdiff - src/BufferView_pimpl.C
and this
[lyx.git] / src / BufferView_pimpl.C
index 2160fbb1d4deecc59f8f673577b7274e62d7b931..436ae13e6950637c9ecf7b14dab01600560c6497 100644 (file)
@@ -327,8 +327,17 @@ void BufferView::Pimpl::setBuffer(Buffer * b)
        if (buffer_)
                disconnectBuffer();
 
-       // set current buffer
-       buffer_ = b;
+       // if we are closing current buffer, switch to the first in
+       // buffer list.
+       if (!b) {
+               lyxerr[Debug::INFO] << "  No Buffer!" << endl;
+               // we are closing the buffer, use the first buffer as current
+               buffer_ = bufferlist.first();
+               owner_->getDialogs().hideBufferDependent();
+       } else {
+               // set current buffer
+               buffer_ = b;
+       }
 
        // reset old cursor
        top_y_ = 0;
@@ -355,12 +364,7 @@ void BufferView::Pimpl::setBuffer(Buffer * b)
                // hidden. This should go here because some dialogs (eg ToC)
                // require bv_->text.
                owner_->getDialogs().updateBufferDependent(true);
-       } else {
-               lyxerr[Debug::INFO] << "  No Buffer!" << endl;
-               // we are closing the buffer, use the first buffer as current
-               buffer_ = bufferlist.first();
-               owner_->getDialogs().hideBufferDependent();
-       }
+       } 
 
        update();
        updateScrollbar();