[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - sc/source

Eike Rathke erack at redhat.com
Thu Sep 17 01:08:11 PDT 2015


 sc/source/core/data/document.cxx |   16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

New commits:
commit dcc71bb4a282678a815eb894b52fd062ff0aa1c6
Author: Eike Rathke <erack at redhat.com>
Date:   Mon Sep 14 17:27:41 2015 +0200

    Resolves: tdf#93895 broadcast cell changes when multi-selection was pasted
    
    It is not sufficient to collect the cells, one has to broadcast on the
    collection.
    
    (cherry picked from commit 97ad6393525a928b5dfe2a6562d7604446da7af0)
    
    Conflicts:
    	sc/source/core/data/document.cxx
    
    Change-Id: I11f889936aff43f958c56789e539809289819752
    Reviewed-on: https://gerrit.libreoffice.org/18575
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index 8c26dd8..b20bcf7 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -2941,10 +2941,18 @@ void ScDocument::CopyMultiRangeFromClip(
     // Listener aufbauen nachdem alles inserted wurde
     StartListeningFromClip(aDestRange.aStart.Col(), aDestRange.aStart.Row(),
                            aDestRange.aEnd.Col(), aDestRange.aEnd.Row(), rMark, nInsFlag );
-    // nachdem alle Listener aufgebaut wurden, kann gebroadcastet werden
-    SetDirtyFromClip(
-        aDestRange.aStart.Col(), aDestRange.aStart.Row(), aDestRange.aEnd.Col(), aDestRange.aEnd.Row(),
-        rMark, nInsFlag, aBroadcastSpans);
+
+    {
+        ScBulkBroadcast aBulkBroadcast( GetBASM());
+
+        // Set formula cells dirty and collect non-formula cells.
+        SetDirtyFromClip(
+                aDestRange.aStart.Col(), aDestRange.aStart.Row(), aDestRange.aEnd.Col(), aDestRange.aEnd.Row(),
+                rMark, nInsFlag, aBroadcastSpans);
+
+        BroadcastAction aAction(*this);
+        aBroadcastSpans.executeColumnAction(*this, aAction);
+    }
 
     if (bResetCut)
         pClipDoc->GetClipParam().mbCutMode = false;


More information about the Libreoffice-commits mailing list