summaryrefslogtreecommitdiff
path: root/sw
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 /sw
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)
Diffstat (limited to 'sw')
-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 );