From f24153cded54954da7f0d80941707715c78e4627 Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Thu, 22 Mar 2012 23:03:05 +0100 Subject: fdo#39003: fix autoformat Undo cursors: SwEditShell::Undo: Because the Undo actions nowadays create new shell cursors directly (while previously they worked on a SwUndoIter), it is necessary to remove the shell cursor ring before Pop() because Pop(false) only restores the current cursor from the stack, not the rest of the ring. (regression from CWS undoapi, 1ba0c1878116ada5dc4ebdecdb1e0a3da9758547) --- sw/source/core/edit/edundo.cxx | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'sw') diff --git a/sw/source/core/edit/edundo.cxx b/sw/source/core/edit/edundo.cxx index 95c925283198..26b64b0dd259 100644 --- a/sw/source/core/edit/edundo.cxx +++ b/sw/source/core/edit/edundo.cxx @@ -142,6 +142,10 @@ bool SwEditShell::Undo(sal_uInt16 const nCount) .getStr()); } + if (bRestoreCrsr) + { // fdo#39003 Pop does not touch the rest of the cursor ring + KillPams(); // so call this first to get rid of unwanted cursors + } Pop( !bRestoreCrsr ); GetDoc()->SetRedlineMode( eOld ); -- cgit