Fix bug #8370: crash when searching for next change

Cursor::backwardPos() may enter in a nested inset, while CursorSlice::backwardPos() will not.
This commit is contained in:
Jean-Marc Lasgouttes 2013-04-05 15:58:08 +02:00
parent 72aee2a9c5
commit a88e5cbf74

View File

@ -452,13 +452,14 @@ bool findChange(BufferView * bv, bool next)
bv->cursor().setCursor(cur);
bv->cursor().resetAnchor();
CursorSlice & tip = cur.top();
if (!next)
// take a step into the change
cur.backwardPos();
tip.backwardPos();
Change orig_change = cur.paragraph().lookupChange(cur.pos());
Change orig_change = tip.paragraph().lookupChange(tip.pos());
CursorSlice & tip = cur.top();
if (next) {
for (; !tip.at_end(); tip.forwardPos()) {
Change change = tip.paragraph().lookupChange(tip.pos());