diff options
author | Jan Holesovsky <kendy@collabora.com> | 2013-12-21 17:26:01 +0100 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2013-12-21 17:29:20 +0100 |
commit | c8b624329caed68550fcb1fe197c8fa8107d079b (patch) | |
tree | 253d7415cd79b0551339ba8ce49bb7451392752d /include/svl | |
parent | 5527a867996c54fa80139f83fab7286c37630f9c (diff) |
Don't call EndListening() on already destructed listeners.
Change-Id: I9bda35f2246de9d37077dda33c710b89ee008e5a
Diffstat (limited to 'include/svl')
-rw-r--r-- | include/svl/broadcast.hxx | 7 |
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; |