]> git.lyx.org Git - features.git/commitdiff
fix bug 1926 (crash when switching document)
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Thu, 15 Sep 2005 13:55:45 +0000 (13:55 +0000)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Thu, 15 Sep 2005 13:55:45 +0000 (13:55 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10446 a592a061-630c-0410-9148-cb99ea01b6c8

src/BufferView_pimpl.C
src/ChangeLog

index 01c6f11e9f4be23038b30d4dbb7dd70556af92d7..5df76a3ea3415328f1af43ba95d7aadbfa52b9ca 100644 (file)
@@ -386,8 +386,20 @@ void BufferView::Pimpl::setBuffer(Buffer * b)
        owner_->updateWindowTitle();
 
        // This is done after the layout combox has been populated
-       if (buffer_)
-               owner_->setLayout(cursor_.paragraph().layout()->name());
+       if (buffer_) {
+               size_t i = cursor_.depth() - 1;
+               // we know we'll eventually find a paragraph
+               while (true) {
+                       CursorSlice const & slice = cursor_[i];
+                       if (!slice.inset().inMathed()) {
+                               LyXLayout_ptr const layout = slice.paragraph().layout();
+                               owner_->setLayout(layout->name());
+                               break;
+                       }
+                       BOOST_ASSERT(i>0);
+                       --i;
+               }
+       }       
 
        if (buffer_ && lyx::graphics::Previews::status() != LyXRC::PREVIEW_OFF)
                lyx::graphics::Previews::get().generateBufferPreviews(*buffer_);
index 48423098c0c699619d34f35e1cb4d0370de38399..4846d82b1ebc4e1c929e01b09aa54f5cd32290f4 100644 (file)
@@ -1,3 +1,9 @@
+2005-09-13  Jean-Marc Lasgouttes  <lasgouttes@lyx.org>
+
+       * BufferView_pimpl.C (setBuffer): when one wants to set the layout
+       combox, it is necessary to search for the topmost paragraph in the
+       cursor stack (bug 1926)
+
 2005-09-13  Jean-Marc Lasgouttes  <lasgouttes@lyx.org>
 
        * text2.C (cursorEnd, cursorRight): do not set boundary to true at