Martin Vermeer wrote: > Yes, this is a different problem. I get it too now, but not yesterday > evening. Here: > > 1480 // If we have separators, this is not the last row of > a > 1481 // par, does not end in newline, and is not row above > a > 1482 // display inset... then stretch it > 1483 if (ns > 1484 && rit->end() < pit->size() > 1485 && !pit->isNewline(next_row->pos()- 1) > 1486 && !disp_inset > 1487 ) { > 1488 fill_separator = w / ns; > 1489 } else if (is_rtl) { > 1490 x += w; > 1491 } > > It crashed on the isNewline() on line 1485, because next_row->pos() > seems to contain nonsense (it should point to the first char of this > row within its par). Adding a printout confirms this: either 0 or a > very large value.
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" In that case, rit->next() is maybe endrit and thus has nonsense information. Note that I may be talking nonsense myself here... fell free to ignore if I am. ;-) Alfredo