]> git.lyx.org Git - lyx.git/blobdiff - src/toc.C
Fix bug 3303 from Bernhard Roider. Some explanation:
[lyx.git] / src / toc.C
index 26d537e2d5b0f1fb13efc9d4b6bfc97e60366bcb..0a441620324a0c55c32f84a07aa74c71a6f3f973 100644 (file)
--- a/src/toc.C
+++ b/src/toc.C
@@ -80,11 +80,10 @@ void outline(OutlineOp mode,  LCursor & cur)
                                break;
                        pit_type const newpit = std::distance(bgn, dest);
                        pit_type const len = std::distance(start, finish);
-                       pit += len;
-                       pit = std::min(pit, cur.lastpit());
-                       recordUndo(cur, Undo::ATOMIC, newpit, pit);
+                       pit_type const deletepit = pit + len;
+                       recordUndo(cur, Undo::ATOMIC, newpit, deletepit - 1);
                        pars.insert(dest, start, finish);
-                       start = boost::next(bgn, pit);
+                       start = boost::next(bgn, deletepit);
                        pit = newpit;
                        pars.erase(start, finish);
                break;