summaryrefslogtreecommitdiff
path: root/svx/source/dialog/imapdlg.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/dialog/imapdlg.cxx')
-rw-r--r--svx/source/dialog/imapdlg.cxx30
1 files changed, 22 insertions, 8 deletions
diff --git a/svx/source/dialog/imapdlg.cxx b/svx/source/dialog/imapdlg.cxx
index 76470da30158..1d606ce45a72 100644
--- a/svx/source/dialog/imapdlg.cxx
+++ b/svx/source/dialog/imapdlg.cxx
@@ -95,8 +95,8 @@ SvxIMapDlgChildWindow::SvxIMapDlgChildWindow( vcl::Window* _pParent, sal_uInt16
SfxChildWinInfo* pInfo ) :
SfxChildWindow( _pParent, nId )
{
- pWindow = new SvxIMapDlg( pBindings, this, _pParent );
- SvxIMapDlg* pDlg = static_cast<SvxIMapDlg*>(pWindow);
+ pWindow = VclPtr<SvxIMapDlg>::Create( pBindings, this, _pParent );
+ SvxIMapDlg* pDlg = static_cast<SvxIMapDlg*>(pWindow.get());
if ( pInfo->nFlags & SfxChildWindowFlags::ZOOMIN )
pDlg->RollUp();
@@ -168,7 +168,7 @@ SvxIMapDlg::SvxIMapDlg(SfxBindings *_pBindings, SfxChildWindow *pCW, vcl::Window
get(m_pStbStatus, "statusbar");
VclVBox* _pContainer = get<VclVBox>("container");
- pIMapWnd = new IMapWindow( _pContainer, WB_BORDER, _pBindings->GetActiveFrame() );
+ pIMapWnd = VclPtr<IMapWindow>::Create( _pContainer, WB_BORDER, _pBindings->GetActiveFrame() );
pIMapWnd->set_hexpand(true);
pIMapWnd->set_vexpand(true);
pIMapWnd->Show();
@@ -217,9 +217,23 @@ SvxIMapDlg::SvxIMapDlg(SfxBindings *_pBindings, SfxChildWindow *pCW, vcl::Window
SvxIMapDlg::~SvxIMapDlg()
{
+ disposeOnce();
+}
+
+void SvxIMapDlg::dispose()
+{
// Delete URL-List
- delete pIMapWnd;
+ pIMapWnd.disposeAndClear();
delete pOwnData;
+ m_pTbxIMapDlg1.clear();
+ m_pFtURL.clear();
+ m_pURLBox.clear();
+ m_pFtText.clear();
+ m_pEdtText.clear();
+ m_pFtTarget.clear();
+ m_pCbbTarget.clear();
+ m_pStbStatus.clear();
+ SfxModelessDialog::dispose();
}
bool SvxIMapDlg::Close()
@@ -228,8 +242,8 @@ bool SvxIMapDlg::Close()
if ( m_pTbxIMapDlg1->IsItemEnabled( mnApplyId ) )
{
- MessageDialog aQBox( this,"QueryModifyImageMapChangesDialog","svx/ui/querymodifyimagemapchangesdialog.ui");
- const long nRet = aQBox.Execute();
+ ScopedVclPtrInstance< MessageDialog > aQBox(this,"QueryModifyImageMapChangesDialog","svx/ui/querymodifyimagemapchangesdialog.ui");
+ const long nRet = aQBox->Execute();
if( nRet == RET_YES )
{
@@ -242,8 +256,8 @@ bool SvxIMapDlg::Close()
}
else if( pIMapWnd->IsChanged() )
{
- MessageDialog aQBox( this,"QuerySaveImageMapChangesDialog","svx/ui/querysaveimagemapchangesdialog.ui");
- const long nRet = aQBox.Execute();
+ ScopedVclPtrInstance< MessageDialog > aQBox(this,"QuerySaveImageMapChangesDialog","svx/ui/querysaveimagemapchangesdialog.ui");
+ const long nRet = aQBox->Execute();
if( nRet == RET_YES )
bRet = DoSave();