diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2015-02-27 16:29:46 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2015-04-09 22:26:09 +0100 |
commit | 562109b8357eb0690034844e097e0acafbdc39b6 (patch) | |
tree | c095810b0daf3b216d6802b02500d1191c1dbece /svx | |
parent | 292990396aefdae15b91f2df395da4b52d5e3f6a (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 'svx')
-rw-r--r-- | svx/source/dialog/ctredlin.cxx | 4 | ||||
-rw-r--r-- | svx/source/form/datanavi.cxx | 6 | ||||
-rw-r--r-- | svx/source/sidebar/PanelLayout.cxx | 1 |
3 files changed, 11 insertions, 0 deletions
diff --git a/svx/source/dialog/ctredlin.cxx b/svx/source/dialog/ctredlin.cxx index 48b50b005173..0d2e53039841 100644 --- a/svx/source/dialog/ctredlin.cxx +++ b/svx/source/dialog/ctredlin.cxx @@ -118,6 +118,7 @@ SvxRedlinTable::~SvxRedlinTable() void SvxRedlinTable::dispose() { delete pCommentSearcher; + pCommentSearcher = NULL; SvSimpleTable::dispose(); } @@ -1084,7 +1085,10 @@ SvxAcceptChgCtr::~SvxAcceptChgCtr() void SvxAcceptChgCtr::dispose() { delete pTPView; + pTPView = NULL; delete pTPFilter; + pTPFilter = NULL; + disposeBuilder(); TabControl::dispose(); } diff --git a/svx/source/form/datanavi.cxx b/svx/source/form/datanavi.cxx index 148a747209de..c09637e7e59d 100644 --- a/svx/source/form/datanavi.cxx +++ b/svx/source/form/datanavi.cxx @@ -1419,17 +1419,23 @@ namespace svxform aViewOpt.SetUserItem(CFGNAME_SHOWDETAILS,aAny); delete m_pInstPage; + m_pInstPage = NULL; delete m_pSubmissionPage; + m_pSubmissionPage = NULL; delete m_pBindingPage; + m_pBindingPage = NULL; sal_Int32 i, nCount = m_aPageList.size(); for ( i = 0; i < nCount; ++i ) delete m_aPageList[i]; + m_aPageList.clear(); + Reference< XFrameActionListener > xListener( static_cast< XFrameActionListener* >( m_xDataListener.get() ), UNO_QUERY ); m_xFrame->removeFrameActionListener( xListener ); RemoveBroadcaster(); m_xDataListener.clear(); + disposeBuilder(); vcl::Window::dispose(); } diff --git a/svx/source/sidebar/PanelLayout.cxx b/svx/source/sidebar/PanelLayout.cxx index 23934f6228f2..52247256a9b8 100644 --- a/svx/source/sidebar/PanelLayout.cxx +++ b/svx/source/sidebar/PanelLayout.cxx @@ -33,6 +33,7 @@ void PanelLayout::dispose() { m_bInClose = true; m_aPanelLayoutIdle.Stop(); + disposeBuilder(); Control::dispose(); } |