summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2013-12-21 17:26:01 +0100
committerJan Holesovsky <kendy@collabora.com>2013-12-21 17:29:20 +0100
commitc8b624329caed68550fcb1fe197c8fa8107d079b (patch)
tree253d7415cd79b0551339ba8ce49bb7451392752d /include
parent5527a867996c54fa80139f83fab7286c37630f9c (diff)
Don't call EndListening() on already destructed listeners.
Change-Id: I9bda35f2246de9d37077dda33c710b89ee008e5a
Diffstat (limited to 'include')
-rw-r--r--include/svl/broadcast.hxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/svl/broadcast.hxx b/include/svl/broadcast.hxx
index d122e02594c6..72ac3036cd28 100644
--- a/include/svl/broadcast.hxx
+++ b/include/svl/broadcast.hxx
@@ -70,10 +70,15 @@ public:
* themselves from the broadcaster - the broadcaster will not broadcast
* anything after the PrepareForDesctruction() call anyway.
*/
- void PrepareForDestruction() { mbAboutToDie = true; }
+ void PrepareForDestruction();
private:
ListenersType maListeners;
+
+ /// When the broadcaster is about to die, collect listeners that asked for removal.
+ ListenersType maDestructedListeners;
+
+ /// Indicate that this broadcaster will be destructed (we indicate this on all ScColumn's broadcasters during the ScTable destruction, eg.)
bool mbAboutToDie:1;
bool mbDisposing:1;
bool mbNormalized:1;