From 4822b5312b61c1b7991ad028c4c43a2d8fce513f 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: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) (cherry picked from commit f24153cded54954da7f0d80941707715c78e4627) Signed-off-by: Caolán McNamara --- sw/source/core/edit/edundo.cxx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sw/source/core/edit/edundo.cxx b/sw/source/core/edit/edundo.cxx index 7b2ae832c795..118b3f931329 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 v1.2.3