Fix bug #8633: change tracking: paragraph break is restored by undo

A recordUndo call was missing in this case.
This commit is contained in:
Jean-Marc Lasgouttes 2013-04-24 18:31:34 +02:00
parent 72f32fe143
commit 36e4d210d1
2 changed files with 9 additions and 4 deletions

View File

@ -1590,11 +1590,13 @@ bool Text::backspace(Cursor & cur)
if (cur.pit() == 0)
return dissolveInset(cur);
Paragraph & prev_par = pars_[cur.pit() - 1];
Cursor prev_cur = cur;
--prev_cur.pit();
if (!prev_par.isMergedOnEndOfParDeletion(cur.buffer()->params().trackChanges)) {
prev_par.setChange(prev_par.size(), Change(Change::DELETED));
setCursorIntern(cur, cur.pit() - 1, prev_par.size());
if (!prev_cur.paragraph().isMergedOnEndOfParDeletion(cur.buffer()->params().trackChanges)) {
cur.recordUndo(ATOMIC_UNDO, prev_cur.pit(), prev_cur.pit());
prev_cur.paragraph().setChange(prev_cur.lastpos(), Change(Change::DELETED));
setCursorIntern(cur, prev_cur.pit(), prev_cur.lastpos());
return true;
}
// The cursor is at the beginning of a paragraph, so

View File

@ -137,6 +137,9 @@ What's new
- Fix a few selection bugs in tabular (bugs 4981, 7988).
- Handle properly undo after deleting a paragraph break when change
tracking is enabled (bug 8633).
- Fix `select whole inset' function in math editor.
- Fix confusing behavior in search when changing directions (bug 8543)