[Libreoffice-commits] core.git: sc/source

Kohei Yoshida kohei.yoshida at collabora.com
Wed Apr 16 12:21:57 PDT 2014


 sc/source/ui/undo/undoblk3.cxx |   11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

New commits:
commit 1d1fbbe81b4435765d3f69c6bcae2840dc629912
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Wed Apr 16 15:17:13 2014 -0400

    fdo#74687: Undo & redo of format-only changes don't need broadcasting.
    
    Also discovered that the undo path was broadcasting twice.  Let's only
    do it once.
    
    Change-Id: I169f1659aecb1eb78be3a497e244f79c5883e50f

diff --git a/sc/source/ui/undo/undoblk3.cxx b/sc/source/ui/undo/undoblk3.cxx
index a23cf09..437a9e1 100644
--- a/sc/source/ui/undo/undoblk3.cxx
+++ b/sc/source/ui/undo/undoblk3.cxx
@@ -142,7 +142,6 @@ void ScUndoDeleteContents::DoChange( const bool bUndo )
         aCopyRange.aEnd.SetTab(nTabCount-1);
 
         pUndoDoc->CopyToDocument( aCopyRange, nUndoFlags, bMulti, pDoc, &aMarkData );
-        BroadcastChanges(aCopyRange);
 
         DoSdrUndoAction( pDrawUndo, pDoc );
 
@@ -184,7 +183,10 @@ void ScUndoDeleteContents::Undo()
     DoChange( true );
     EndUndo();
 
-    BroadcastChanges(aRange);
+    if (nFlags & IDF_CONTENTS)
+        // Broadcast only when the content changes. fdo#74687
+        BroadcastChanges(aRange);
+
     HelperNotifyChanges::NotifyIfChangesListeners(*pDocShell, aRange);
 }
 
@@ -194,7 +196,10 @@ void ScUndoDeleteContents::Redo()
     DoChange( false );
     EndRedo();
 
-    BroadcastChanges(aRange);
+    if (nFlags & IDF_CONTENTS)
+        // Broadcast only when the content changes. fdo#74687
+        BroadcastChanges(aRange);
+
     HelperNotifyChanges::NotifyIfChangesListeners(*pDocShell, aRange);
 }
 


More information about the Libreoffice-commits mailing list