diff options
Diffstat (limited to 'framework/source/uiconfiguration/imagemanagerimpl.cxx')
-rw-r--r-- | framework/source/uiconfiguration/imagemanagerimpl.cxx | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/framework/source/uiconfiguration/imagemanagerimpl.cxx b/framework/source/uiconfiguration/imagemanagerimpl.cxx index 26aa0f33400c..0152387cc0b4 100644 --- a/framework/source/uiconfiguration/imagemanagerimpl.cxx +++ b/framework/source/uiconfiguration/imagemanagerimpl.cxx @@ -1169,6 +1169,7 @@ void ImageManagerImpl::implts_notifyContainerListener( const ConfigurationEvent& { std::unique_lock aGuard(m_mutex); comphelper::OInterfaceIteratorHelper4 pIterator( aGuard, m_aConfigListeners ); + aGuard.unlock(); while ( pIterator.hasMoreElements() ) { try @@ -1188,7 +1189,9 @@ void ImageManagerImpl::implts_notifyContainerListener( const ConfigurationEvent& } catch( const css::uno::RuntimeException& ) { + aGuard.lock(); pIterator.remove(aGuard); + aGuard.unlock(); } } } |