diff --git a/Status.15x b/Status.15x index bc4ed86000..67c152c96b 100644 --- a/Status.15x +++ b/Status.15x @@ -577,3 +577,8 @@ CREDITS: * LyX tries to delete /tmp if it is called with invalid arguments FIXED (Enrico 2006-12-13) +* Start lyx, open a document, scroll down, open a new window, move + the cursor back, lyx crashes because par::rows() is cleared when the + new window is created. + FIXED (Bo 2006-12-13) + diff --git a/src/text2.C b/src/text2.C index 0947c0303b..0670e616e6 100644 --- a/src/text2.C +++ b/src/text2.C @@ -999,6 +999,12 @@ InsetBase * LyXText::editXY(LCursor & cur, int x, int y) } pit_type pit = getPitNearY(cur.bv(), y); BOOST_ASSERT(pit != -1); + // When another window is opened with the same document, rows() + // will be cleared so pars_[pit].rows() might be empty when switching + // between windwos. A better solution is that each buffer view + // has its own rows() for the same buffer. + if (pars_[pit].rows().empty()) + redoParagraph(cur.bv(), pit); Row const & row = getRowNearY(cur.bv(), y, pit); bool bound = false;