summaryrefslogtreecommitdiff
path: root/cui/source
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2015-02-27 16:29:46 +0000
committerMichael Meeks <michael.meeks@collabora.com>2015-04-09 22:26:09 +0100
commit562109b8357eb0690034844e097e0acafbdc39b6 (patch)
treec095810b0daf3b216d6802b02500d1191c1dbece /cui/source
parent292990396aefdae15b91f2df395da4b52d5e3f6a (diff)
vcl: ensure that VclBuilder is disposed before parent window.
Move VclBuilder to use VclPtr, link to documentation, and fix more double dispose issues. Change-Id: I4900b69dbb381bd7d6fda97f2a5e623bb58e0a9f
Diffstat (limited to 'cui/source')
-rw-r--r--cui/source/options/optcolor.cxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/cui/source/options/optcolor.cxx b/cui/source/options/optcolor.cxx
index 3eb0229d22da..c96cb625fb4f 100644
--- a/cui/source/options/optcolor.cxx
+++ b/cui/source/options/optcolor.cxx
@@ -174,6 +174,8 @@ class ColorConfigWindow_Impl
{
public:
ColorConfigWindow_Impl(vcl::Window* pParent);
+ ~ColorConfigWindow_Impl() { dispose(); }
+ virtual void dispose() SAL_OVERRIDE;
public:
void SetLinks (Link const&, Link const&, Link const&);
@@ -508,6 +510,12 @@ ColorConfigWindow_Impl::ColorConfigWindow_Impl(vcl::Window* pParent)
SetAppearance();
}
+void ColorConfigWindow_Impl::dispose()
+{
+ disposeBuilder();
+ VclContainer::dispose();
+}
+
Size ColorConfigWindow_Impl::calculateRequisition() const
{
return getLayoutRequisition(*m_pGrid);
@@ -913,9 +921,14 @@ ColorConfigCtrl_Impl::~ColorConfigCtrl_Impl()
void ColorConfigCtrl_Impl::dispose()
{
delete m_pVScroll;
+ m_pVScroll = NULL;
delete m_pScrollWindow;
+ m_pScrollWindow = NULL;
delete m_pBody;
+ m_pBody = NULL;
delete m_pHeaderHB;
+ m_pHeaderHB = NULL;
+
VclVBox::dispose();
}