diff options
author | Eike Rathke <erack@redhat.com> | 2016-11-09 15:12:39 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2016-11-09 15:18:30 +0100 |
commit | 129eddc18b4f2cb1320b60bf68de537cf86b60f2 (patch) | |
tree | 37f15713f996f2d226d69678406430a0cabb2ded | |
parent | 989cf68b68eda98b9f3942bb738e60ec649707dc (diff) |
Resolves: tdf#103689 do not slice 3D area broadcasters into separate sheets
Change-Id: Ie167e5e5e953c3e8064b8e128d52f6aa6740575b
-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 8eb426b35af3..64cf53cdfd57 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 ) |