summaryrefslogtreecommitdiff
path: root/framework/source/uiconfiguration/imagemanagerimpl.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2011-01-21 10:50:49 +0000
committerCaolán McNamara <caolanm@redhat.com>2011-01-21 10:50:49 +0000
commit87ce4f4744188cd3a76315896bcf2ab03c4378f4 (patch)
tree3ec0f218cb23a660ada904f156f5c1628db02d3d /framework/source/uiconfiguration/imagemanagerimpl.cxx
parentc7ddabe3f8e54bc588f6b200ba3997b504082563 (diff)
break cycle and clear owner reference on dispose
Diffstat (limited to 'framework/source/uiconfiguration/imagemanagerimpl.cxx')
-rw-r--r--framework/source/uiconfiguration/imagemanagerimpl.cxx6
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];