summaryrefslogtreecommitdiff
path: root/sc/source/core/data/column.cxx
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2015-09-16 12:38:06 +0200
committerEike Rathke <erack@redhat.com>2015-09-16 12:44:26 +0200
commite4a8ae0bf54476e9a0c9e1f5348c05f3cd838899 (patch)
tree0a45a4f914577483e53f9de2c99da7e6493ba4a7 /sc/source/core/data/column.cxx
parentbfceb557efcd607ef018ae35fc73f8d61a9b9a4e (diff)
Resolves: tdf#94249 do not remove broadcasters while iterators are in use
EndListeningContext holds BroadcasterStoreType iterators in its ColumnBlockPositionSet and collects broadcasters to purge them at the end. Removing broadcasters from ScColumn::maBroadcasters in between invalidates the iterators. Hence calling the "normal" EndListening() that removes a broadcaster when all listeners are gone while an EndListeningContext is in use is bad. Change-Id: Ibdd88469e91e6173ceff1f391c23ef7cb7c6f596
Diffstat (limited to 'sc/source/core/data/column.cxx')
-rw-r--r--sc/source/core/data/column.cxx8
1 files changed, 4 insertions, 4 deletions
diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx
index c7d71e30a80d..7b1e410e17a8 100644
--- a/sc/source/core/data/column.cxx
+++ b/sc/source/core/data/column.cxx
@@ -1908,15 +1908,15 @@ void ScColumn::MoveTo(SCROW nStartRow, SCROW nEndRow, ScColumn& rCol)
// Split the formula grouping at the top and bottom boundaries.
sc::CellStoreType::position_type aPos = maCells.position(nStartRow);
- sc::SharedFormulaUtil::splitFormulaCellGroup(aPos);
+ sc::SharedFormulaUtil::splitFormulaCellGroup(aPos, nullptr);
aPos = maCells.position(aPos.first, nEndRow+1);
- sc::SharedFormulaUtil::splitFormulaCellGroup(aPos);
+ sc::SharedFormulaUtil::splitFormulaCellGroup(aPos, nullptr);
// Do the same with the destination column.
aPos = rCol.maCells.position(nStartRow);
- sc::SharedFormulaUtil::splitFormulaCellGroup(aPos);
+ sc::SharedFormulaUtil::splitFormulaCellGroup(aPos, nullptr);
aPos = rCol.maCells.position(aPos.first, nEndRow+1);
- sc::SharedFormulaUtil::splitFormulaCellGroup(aPos);
+ sc::SharedFormulaUtil::splitFormulaCellGroup(aPos, nullptr);
// Move the broadcasters to the destination column.
maBroadcasters.transfer(nStartRow, nEndRow, rCol.maBroadcasters, nStartRow);