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_);
+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