summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-03-22 23:03:05 +0100
committerPetr Mladek <pmladek@suse.cz>2012-03-27 16:59:46 +0200
commit66603450eb12eed9f3d1e9b4210210c9630f64e1 (patch)
tree44adfb4ebff1bf688ab6b24045fb0b9479d22949
parent12d4ad922bce712d72c52e5ef9cd5e7b5e74fe73 (diff)
fdo#39003: fix autoformat Undo cursors:libreoffice-3-5-2
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 <caolanm@redhat.com> Signed-off-by: Cedric Bosdonnat <cbosdonnat@suse.com> Signed-off-by: Petr Mladek <pmladek@suse.cz>
-rw-r--r--sw/source/core/edit/edundo.cxx4
1 files changed, 4 insertions, 0 deletions
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 );