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;

Reply via email to