summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-03-22 23:03:05 +0100
committerMichael Stahl <mstahl@redhat.com>2012-03-22 23:11:02 +0100
commitf24153cded54954da7f0d80941707715c78e4627 (patch)
tree313419d0c0b699cc616dcc892feab270d8decdff
parent06d1d69fc8c214251cf9dbc7f87756651657d3bf (diff)
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)
-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 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 );