diff options
Diffstat (limited to 'cui/source/dialogs/linkdlg.cxx')
-rw-r--r-- | cui/source/dialogs/linkdlg.cxx | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/cui/source/dialogs/linkdlg.cxx b/cui/source/dialogs/linkdlg.cxx index 505df5a9b4a4..0995ae4c6ad5 100644 --- a/cui/source/dialogs/linkdlg.cxx +++ b/cui/source/dialogs/linkdlg.cxx @@ -145,6 +145,22 @@ SvBaseLinksDlg::SvBaseLinksDlg( vcl::Window * pParent, LinkManager* pMgr, bool b SvBaseLinksDlg::~SvBaseLinksDlg() { + disposeOnce(); +} + +void SvBaseLinksDlg::dispose() +{ + m_pTbLinks.clear(); + m_pFtFullFileName.clear(); + m_pFtFullSourceName.clear(); + m_pFtFullTypeName.clear(); + m_pRbAutomatic.clear(); + m_pRbManual.clear(); + m_pPbUpdateNow.clear(); + m_pPbOpenSource.clear(); + m_pPbChangeSource.clear(); + m_pPbBreakLink.clear(); + ModalDialog::dispose(); } /************************************************************************* @@ -428,9 +444,9 @@ IMPL_LINK( SvBaseLinksDlg, BreakLinkClickHdl, PushButton *, pPushButton ) if( !xLink.Is() ) return 0; - QueryBox aBox( this, WB_YES_NO | WB_DEF_YES, Closelinkmsg() ); + ScopedVclPtrInstance< QueryBox > aBox( this, WB_YES_NO | WB_DEF_YES, Closelinkmsg() ); - if( RET_YES == aBox.Execute() ) + if( RET_YES == aBox->Execute() ) { m_pTbLinks->GetModel()->Remove( m_pTbLinks->GetEntry( nPos ) ); @@ -459,9 +475,9 @@ IMPL_LINK( SvBaseLinksDlg, BreakLinkClickHdl, PushButton *, pPushButton ) } else { - QueryBox aBox( this, WB_YES_NO | WB_DEF_YES, CloselinkmsgMulti() ); + ScopedVclPtrInstance< QueryBox > aBox( this, WB_YES_NO | WB_DEF_YES, CloselinkmsgMulti() ); - if( RET_YES == aBox.Execute() ) + if( RET_YES == aBox->Execute() ) { SvBaseLinkMemberList aLinkList; |