accessibility/source/extended/AccessibleToolPanelDeck.cxx | 2 +- accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx | 2 +- accessibility/source/extended/AccessibleToolPanelDeckTabBarItem.cxx | 2 +- avmedia/source/framework/mediacontrol.cxx | 2 +- basctl/source/basicide/basidesh.cxx | 6 ++++++ basctl/source/basicide/moduldl2.cxx | 2 +- basctl/source/basicide/moduldlg.cxx | 2 +- cui/source/customize/cfg.cxx | 2 +- cui/source/dialogs/iconcdlg.cxx | 2 +- cui/source/dialogs/multipat.cxx | 2 +- cui/source/factory/dlgfact.cxx | 5 ++++- cui/source/factory/dlgfact.hxx | 3 ++- sfx2/source/appl/childwin.cxx | 6 +++--- 13 files changed, 24 insertions(+), 14 deletions(-)
New commits: commit e9722508e4a117a4538b9bf0db8d89e6b6a0f510 Author: Michael Meeks <[email protected]> Date: Tue Mar 17 20:19:40 2015 +0000 clear() is the equivalent of assigning a local ptr to NULL. Sometimes it matters; doing a disposeAndClear() instead can change the order of destruction profoundly. Fix a number of issues from: "vclwidget: change all vcl::window fields to be wrapped in VclPtr" Change-Id: I3127d3ed973458e8299156453258e167dbdb8ccf diff --git a/accessibility/source/extended/AccessibleToolPanelDeck.cxx b/accessibility/source/extended/AccessibleToolPanelDeck.cxx index 54a8f58..3921c31 100644 --- a/accessibility/source/extended/AccessibleToolPanelDeck.cxx +++ b/accessibility/source/extended/AccessibleToolPanelDeck.cxx @@ -141,7 +141,7 @@ namespace accessibility { ENSURE_OR_RETURN_VOID( !isDisposed(), "disposed twice" ); m_pPanelDeck->RemoveListener( *this ); - m_pPanelDeck.disposeAndClear(); + m_pPanelDeck.clear(); m_xAccessibleParent.clear(); } diff --git a/accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx b/accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx index 13e2d49..37ac3f8 100644 --- a/accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx +++ b/accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx @@ -163,7 +163,7 @@ namespace accessibility m_pTabBar->GetScrollButton( true ).RemoveEventListener( LINK( this, AccessibleToolPanelTabBar_Impl, OnWindowEvent ) ); m_pTabBar->GetScrollButton( false ).RemoveEventListener( LINK( this, AccessibleToolPanelTabBar_Impl, OnWindowEvent ) ); - m_pTabBar.disposeAndClear(); + m_pTabBar.clear(); m_xAccessibleParent.clear(); } diff --git a/accessibility/source/extended/AccessibleToolPanelDeckTabBarItem.cxx b/accessibility/source/extended/AccessibleToolPanelDeckTabBarItem.cxx index 16d90e8..78dc24b 100644 --- a/accessibility/source/extended/AccessibleToolPanelDeckTabBarItem.cxx +++ b/accessibility/source/extended/AccessibleToolPanelDeckTabBarItem.cxx @@ -139,7 +139,7 @@ namespace accessibility m_xAccessibleParent.clear(); m_pPanelDeck->RemoveListener( *this ); m_pPanelDeck = NULL; - m_pTabBar.disposeAndClear(); + m_pTabBar.clear(); } Reference< XAccessibleComponent > AccessibleToolPanelDeckTabBarItem_Impl::getParentAccessibleComponent() const diff --git a/avmedia/source/framework/mediacontrol.cxx b/avmedia/source/framework/mediacontrol.cxx index 57ca787..46882e2 100644 --- a/avmedia/source/framework/mediacontrol.cxx +++ b/avmedia/source/framework/mediacontrol.cxx @@ -202,7 +202,7 @@ MediaControl::~MediaControl() void MediaControl::dispose() { maZoomToolBox->SetItemWindow( AVMEDIA_TOOLBOXITEM_ZOOM, NULL ); - mpZoomListBox.disposeAndClear(); + mpZoomListBox.clear(); maTimeEdit.disposeAndClear(); maZoomToolBox.disposeAndClear(); maVolumeSlider.disposeAndClear(); diff --git a/basctl/source/basicide/basidesh.cxx b/basctl/source/basicide/basidesh.cxx index d161f50..58938a2 100644 --- a/basctl/source/basicide/basidesh.cxx +++ b/basctl/source/basicide/basidesh.cxx @@ -232,6 +232,12 @@ Shell::~Shell() SetWindow( 0 ); SetCurWindow( 0 ); + for (WindowTable::iterator it = aWindowTable.begin(); it != aWindowTable.end(); ++it) + { + // no store; does already happen when the BasicManagers are destroyed + it->second.disposeAndClear(); + } + // no store; does already happen when the BasicManagers are destroyed aWindowTable.clear(); diff --git a/basctl/source/basicide/moduldl2.cxx b/basctl/source/basicide/moduldl2.cxx index 07a6149..e9e11f2 100644 --- a/basctl/source/basicide/moduldl2.cxx +++ b/basctl/source/basicide/moduldl2.cxx @@ -533,7 +533,7 @@ void LibPage::dispose() delete pEntry; } } - m_pBasicsBox.disposeAndClear(); + m_pBasicsBox.clear(); m_pLibBox.disposeAndClear(); m_pEditButton.disposeAndClear(); m_pPasswordButton.disposeAndClear(); diff --git a/basctl/source/basicide/moduldlg.cxx b/basctl/source/basicide/moduldlg.cxx index bc09dec..290b771 100644 --- a/basctl/source/basicide/moduldlg.cxx +++ b/basctl/source/basicide/moduldlg.cxx @@ -496,7 +496,7 @@ void OrganizeDialog::dispose() for ( sal_uInt16 i = 0; i < m_pTabCtrl->GetPageCount(); i++ ) delete m_pTabCtrl->GetTabPage( m_pTabCtrl->GetPageId( i ) ); } - m_pTabCtrl.disposeAndClear(); + m_pTabCtrl.clear(); TabDialog::dispose(); }; diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx index c252385..d1c27c5 100644 --- a/cui/source/customize/cfg.cxx +++ b/cui/source/customize/cfg.cxx @@ -5006,7 +5006,7 @@ void SvxIconSelectorDialog::dispose() } } - pTbSymbol.disposeAndClear(); + pTbSymbol.clear(); pFtNote.disposeAndClear(); pBtnImport.disposeAndClear(); pBtnDelete.disposeAndClear(); diff --git a/cui/source/dialogs/iconcdlg.cxx b/cui/source/dialogs/iconcdlg.cxx index 0f93d9a..6a13564 100644 --- a/cui/source/dialogs/iconcdlg.cxx +++ b/cui/source/dialogs/iconcdlg.cxx @@ -283,7 +283,7 @@ void IconChoiceDialog::dispose() delete pOutSet; pOutSet = NULL; - m_pIconCtrl.disposeAndClear(); + m_pIconCtrl.clear(); m_pOKBtn.disposeAndClear(); m_pApplyBtn.disposeAndClear(); m_pCancelBtn.disposeAndClear(); diff --git a/cui/source/dialogs/multipat.cxx b/cui/source/dialogs/multipat.cxx index 16bdc76..54a82ea 100644 --- a/cui/source/dialogs/multipat.cxx +++ b/cui/source/dialogs/multipat.cxx @@ -258,7 +258,7 @@ void SvxPathSelectDialog::dispose() while ( nPos-- ) delete (OUString*)m_pPathLB->GetEntryData(nPos); } - m_pPathLB.disposeAndClear(); + m_pPathLB.clear(); m_pAddBtn.disposeAndClear(); m_pDelBtn.disposeAndClear(); ModalDialog::dispose(); diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx index 5018c9c..a0bb862 100644 --- a/cui/source/factory/dlgfact.cxx +++ b/cui/source/factory/dlgfact.cxx @@ -105,9 +105,11 @@ IMPL_ABSTDLG_BASE(AbstractFmShowColsDialog_Impl); IMPL_ABSTDLG_BASE(AbstractHyphenWordDialog_Impl) IMPL_ABSTDLG_BASE(AbstractThesaurusDialog_Impl) -AbstractSvxZoomDialog_Impl::~AbstractSvxZoomDialog_Impl() \ +AbstractSvxZoomDialog_Impl::~AbstractSvxZoomDialog_Impl() { + pDlg.disposeAndClear(); } + short AbstractSvxZoomDialog_Impl::Execute() { return pDlg->Execute(); @@ -153,6 +155,7 @@ IMPL_ABSTDLG_BASE(AbstractPasswordToOpenModifyDialog_Impl); // virtual VclAbstractDialog2_Impl::~VclAbstractDialog2_Impl() { + m_pDlg.disposeAndClear(); } // virtual diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx index 27e48cc..221a4b7 100644 --- a/cui/source/factory/dlgfact.hxx +++ b/cui/source/factory/dlgfact.hxx @@ -72,8 +72,9 @@ public: \ #define IMPL_ABSTDLG_BASE(Class) \ Class::~Class() \ { \ + pDlg.disposeAndClear(); \ } \ -short Class::Execute() \ +short Class::Execute() \ { \ return pDlg->Execute(); \ } diff --git a/sfx2/source/appl/childwin.cxx b/sfx2/source/appl/childwin.cxx index 342d978..29245e6 100644 --- a/sfx2/source/appl/childwin.cxx +++ b/sfx2/source/appl/childwin.cxx @@ -160,7 +160,6 @@ SfxChildWindow::SfxChildWindow(vcl::Window *pParentWindow, sal_uInt16 nId) : pParent(pParentWindow) , nType(nId) , eChildAlignment(SFX_ALIGN_NOALIGNMENT) - , pWindow(0L) { pImp = new SfxChildWindow_Impl; pImp->pFact = 0L; @@ -199,6 +198,7 @@ void SfxChildWindow::Destroy() SfxChildWindow::~SfxChildWindow() { delete pContext; + pWindow.disposeAndClear(); delete pImp; } @@ -510,13 +510,13 @@ void SfxChildWindow::CreateContext( sal_uInt16 nContextId, SfxBindings& rBinding } SfxChildWindowContext::SfxChildWindowContext( sal_uInt16 nId ) - : pWindow( NULL ) - , nContextId( nId ) + : nContextId( nId ) { } SfxChildWindowContext::~SfxChildWindowContext() { + pWindow.disposeAndClear(); } FloatingWindow* SfxChildWindowContext::GetFloatingWindow() const _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
