diff options
author | Caolán McNamara <caolanm@redhat.com> | 2011-01-21 10:50:49 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2011-01-21 10:50:49 +0000 |
commit | 87ce4f4744188cd3a76315896bcf2ab03c4378f4 (patch) | |
tree | 3ec0f218cb23a660ada904f156f5c1628db02d3d /framework/source/uiconfiguration/imagemanagerimpl.cxx | |
parent | c7ddabe3f8e54bc588f6b200ba3997b504082563 (diff) |
break cycle and clear owner reference on dispose
Diffstat (limited to 'framework/source/uiconfiguration/imagemanagerimpl.cxx')
-rw-r--r-- | framework/source/uiconfiguration/imagemanagerimpl.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/framework/source/uiconfiguration/imagemanagerimpl.cxx b/framework/source/uiconfiguration/imagemanagerimpl.cxx index 029165d5ca..bca1f2db33 100644 --- a/framework/source/uiconfiguration/imagemanagerimpl.cxx +++ b/framework/source/uiconfiguration/imagemanagerimpl.cxx @@ -752,6 +752,8 @@ void ImageManagerImpl::dispose() } delete m_pDefaultImageList; m_pDefaultImageList = 0; + + m_xOwner.clear(); } } @@ -1455,6 +1457,10 @@ void ImageManagerImpl::implts_notifyContainerListener( const ConfigurationEvent& void ImageManagerImpl::clear() { ResetableGuard aGuard( m_aLock ); + + if (!m_pUserImageList) + return; + for ( sal_Int32 n = 0; n < ImageType_COUNT; n++ ) { delete m_pUserImageList[n]; |