diff options
author | Eike Rathke <erack@redhat.com> | 2015-09-16 12:38:06 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2015-09-16 12:44:26 +0200 |
commit | e4a8ae0bf54476e9a0c9e1f5348c05f3cd838899 (patch) | |
tree | 0a45a4f914577483e53f9de2c99da7e6493ba4a7 /sc/inc | |
parent | bfceb557efcd607ef018ae35fc73f8d61a9b9a4e (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.hxx | 3 |
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. |