[Libreoffice-commits] .: Branch 'libreoffice-3-5-2' - sw/source

Petr Mladek pmladek at kemper.freedesktop.org
Tue Mar 27 08:00:22 PDT 2012


 sw/source/core/edit/edundo.cxx |    4 ++++
 1 file changed, 4 insertions(+)

New commits:
commit 66603450eb12eed9f3d1e9b4210210c9630f64e1
Author: Michael Stahl <mstahl at redhat.com>
Date:   Thu Mar 22 23:03:05 2012 +0100

    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)
    (cherry picked from commit f24153cded54954da7f0d80941707715c78e4627)
    
    Signed-off-by: Caolán McNamara <caolanm at redhat.com>
    Signed-off-by: Cedric Bosdonnat <cbosdonnat at suse.com>
    Signed-off-by: Petr Mladek <pmladek at suse.cz>

diff --git a/sw/source/core/edit/edundo.cxx b/sw/source/core/edit/edundo.cxx
index 7b2ae83..118b3f9 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 );


More information about the Libreoffice-commits mailing list