summaryrefslogtreecommitdiff
path: root/sc/inc
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/inc
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/inc')
-rw-r--r--sc/inc/sharedformula.hxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/sc/inc/sharedformula.hxx b/sc/inc/sharedformula.hxx
index e4b25bb4a502..33a2d48dcef6 100644
--- a/sc/inc/sharedformula.hxx
+++ b/sc/inc/sharedformula.hxx
@@ -64,8 +64,9 @@ public:
* specified position is not a formula cell.
*
* @param aPos position of cell to examine.
+ * @param pCxt context to be used, if any, may be nullptr.
*/
- static void splitFormulaCellGroup(const CellStoreType::position_type& aPos);
+ static void splitFormulaCellGroup(const CellStoreType::position_type& aPos, sc::EndListeningContext* pCxt);
/**
* Split existing shared formula ranges at specified row positions.