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 | d23b5e5e0cdb9cd6f981c0949e27230b8297231e (patch) | |
tree | 0db0b95b52d7ea34cdd59103f8ef0890b161d2d9 /framework | |
parent | 76f1fc1cb02118a177191014a4c5b8c21cfda1e1 (diff) |
break cycle and clear owner reference on dispose
Diffstat (limited to 'framework')
-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 818ef14fc043..15f324185ddb 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]; |