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

Eike Rathke erack at redhat.com
Wed Nov 9 14:18:56 UTC 2016


 sc/source/core/data/bcaslot.cxx |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 129eddc18b4f2cb1320b60bf68de537cf86b60f2
Author: Eike Rathke <erack at redhat.com>
Date:   Wed Nov 9 15:12:39 2016 +0100

    Resolves: tdf#103689 do not slice 3D area broadcasters into separate sheets
    
    Change-Id: Ie167e5e5e953c3e8064b8e128d52f6aa6740575b

diff --git a/sc/source/core/data/bcaslot.cxx b/sc/source/core/data/bcaslot.cxx
index 8eb426b..64cf53c 100644
--- a/sc/source/core/data/bcaslot.cxx
+++ b/sc/source/core/data/bcaslot.cxx
@@ -736,6 +736,11 @@ void ScBroadcastAreaSlotMachine::StartListeningArea(
     }
     else
     {
+        // A new area needs to be inserted to the corresponding slots, for 3D
+        // ranges for all sheets, do not slice into per sheet areas or the
+        // !bDone will break too early (i.e. after the first sheet) if
+        // subsequent listeners are to be added.
+        ScBroadcastArea* pArea = nullptr;
         bool bDone = false;
         for (SCTAB nTab = rRange.aStart.Tab();
                 !bDone && nTab <= rRange.aEnd.Tab(); ++nTab)
@@ -750,7 +755,6 @@ void ScBroadcastAreaSlotMachine::StartListeningArea(
             SCSIZE nOff = nStart;
             SCSIZE nBreak = nOff + nRowBreak;
             ScBroadcastAreaSlot** pp = ppSlots + nOff;
-            ScBroadcastArea* pArea = nullptr;
             while ( !bDone && nOff <= nEnd )
             {
                 if ( !*pp )


More information about the Libreoffice-commits mailing list