From: Abdelrazak Younes Date: Sun, 2 Mar 2008 09:17:10 +0000 (+0000) Subject: * Outline(): fix undo/redo for promote/demote X-Git-Tag: 1.6.10~5958 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=6bf2052227c7f621c85324bd5e5d85b027e73fbe;p=features.git * Outline(): fix undo/redo for promote/demote git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23379 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/Text3.cpp b/src/Text3.cpp index e7bbb9b9b1..f6be355a41 100644 --- a/src/Text3.cpp +++ b/src/Text3.cpp @@ -320,8 +320,9 @@ static void outline(OutlineOp mode, Cursor & cur) pars.erase(start, finish); return; } - case OutlineIn: - buf.undo().recordUndo(cur); + case OutlineIn: { + pit_type const len = distance(start, finish); + buf.undo().recordUndo(cur, ATOMIC_UNDO, pit, pit + len - 1); for (; start != finish; ++start) { toclevel = start->layout()->toclevel; if (toclevel == Layout::NOT_IN_TOC) @@ -336,9 +337,10 @@ static void outline(OutlineOp mode, Cursor & cur) } } return; - - case OutlineOut: - buf.undo().recordUndo(cur); + } + case OutlineOut: { + pit_type const len = distance(start, finish); + buf.undo().recordUndo(cur, ATOMIC_UNDO, pit, pit + len - 1); for (; start != finish; ++start) { toclevel = start->layout()->toclevel; if (toclevel == Layout::NOT_IN_TOC) @@ -353,6 +355,7 @@ static void outline(OutlineOp mode, Cursor & cur) } } return; + } } }