From 78751ef3be02d6dcddf56830ec60f792096697c2 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Fri, 15 Nov 2013 09:46:16 +0100 Subject: Band-aid fix for SvtBroadcaster::Broadcast ...after 18d07b2affbbbfb2ff9152d3ad8d1744fe75ab47 "Rework SvtListener and SvtBroadcaster internals" broke the case where SvtBroadcaster::Add/Remove is called from within SvtBroadcaster::Broadcast, and at least CppunitTest_sc_ucalc started to fail. It should be evaluated whether the original SvtBroadcaster logic to handle this was better than taking a copy here. Change-Id: Ie47bccb8c5789e405349a9c8b89f30b1dba3cfba --- svl/source/notify/broadcast.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'svl') diff --git a/svl/source/notify/broadcast.cxx b/svl/source/notify/broadcast.cxx index 96d34a7f6ced..24b5790c0336 100644 --- a/svl/source/notify/broadcast.cxx +++ b/svl/source/notify/broadcast.cxx @@ -114,7 +114,8 @@ SvtBroadcaster::~SvtBroadcaster() void SvtBroadcaster::Broadcast( const SfxHint &rHint ) { Normalize(); - std::for_each(maListeners.begin(), maListeners.end(), NotifyHandler(*this, rHint)); + ListenersType listeners(maListeners); + std::for_each(listeners.begin(), listeners.end(), NotifyHandler(*this, rHint)); } void SvtBroadcaster::ListenersGone() {} -- cgit