On Wed, Oct 22, 2003 at 10:10:29AM +0200, Alfredo Braunstein wrote: > On a 20 sec read, I think they may be related: maybe your other change broke > this constant: > > "rit->end() < pit->size => rit->next() != endrit"
Could be my doing. Would the following fix the problem? Andre'
Index: text.C =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/text.C,v retrieving revision 1.471 diff -u -p -r1.471 text.C --- text.C 22 Oct 2003 06:02:55 -0000 1.471 +++ text.C 22 Oct 2003 08:24:52 -0000 @@ -731,9 +731,9 @@ pos_type LyXText::rowBreakPoint(Paragrap break; } } - // emergency exit: - if (i + 1 < last) - break; + // emergency exit: + if (i + 1 < last) + break; } InsetOld * in = pit->getInset(i); @@ -1468,10 +1468,9 @@ void LyXText::prepareToPrint(ParagraphLi case LYX_ALIGN_BLOCK: { int const ns = numberOfSeparators(*pit, *rit); - RowList::iterator next_row = boost::next(rit); bool disp_inset = false; - if (next_row != pit->rows.end()) { - InsetOld * in = pit->getInset(next_row->pos()); + if (rit->end() < pit->size()) { + InsetOld * in = pit->getInset(rit->end()); if (in) disp_inset = in->display(); } @@ -1480,7 +1479,7 @@ void LyXText::prepareToPrint(ParagraphLi // display inset... then stretch it if (ns && rit->end() < pit->size() - && !pit->isNewline(next_row->pos() - 1) + && !pit->isNewline(rit->end()) && !disp_inset ) { fill_separator = w / ns;