diff options
author | Eike Rathke <erack@redhat.com> | 2016-11-09 15:12:39 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-11-11 15:30:04 +0000 |
commit | 5ea35685395e2dfede904fcf5fffbcdcecd30723 (patch) | |
tree | 65678c6d4fa7eb5d99b059036b4f4787917279f1 | |
parent | e64460d8d2e6deeb234d744f7618f11e70385e81 (diff) |
Resolves: tdf#103689 do not slice 3D area broadcasters into separate sheets
Change-Id: Ie167e5e5e953c3e8064b8e128d52f6aa6740575b
(cherry picked from commit 129eddc18b4f2cb1320b60bf68de537cf86b60f2)
Reviewed-on: https://gerrit.libreoffice.org/30720
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | sc/source/core/data/bcaslot.cxx | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sc/source/core/data/bcaslot.cxx b/sc/source/core/data/bcaslot.cxx index c171b44c8edb..64eecf9a915d 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 ) |