summaryrefslogtreecommitdiff
path: root/filter/source/xsltdialog/xmlfiltertabdialog.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'filter/source/xsltdialog/xmlfiltertabdialog.cxx')
-rw-r--r--filter/source/xsltdialog/xmlfiltertabdialog.cxx20
1 files changed, 14 insertions, 6 deletions
diff --git a/filter/source/xsltdialog/xmlfiltertabdialog.cxx b/filter/source/xsltdialog/xmlfiltertabdialog.cxx
index 4494a74ba799..ff725cc040fe 100644
--- a/filter/source/xsltdialog/xmlfiltertabdialog.cxx
+++ b/filter/source/xsltdialog/xmlfiltertabdialog.cxx
@@ -56,13 +56,13 @@ XMLFilterTabDialog::XMLFilterTabDialog(vcl::Window *pParent, ResMgr& rResMgr,
m_pTabCtrl->SetActivatePageHdl( LINK( this, XMLFilterTabDialog, ActivatePageHdl ) );
m_pTabCtrl->SetDeactivatePageHdl( LINK( this, XMLFilterTabDialog, DeactivatePageHdl ) );
- mpBasicPage = new XMLFilterTabPageBasic(m_pTabCtrl);
+ mpBasicPage = VclPtr<XMLFilterTabPageBasic>::Create(m_pTabCtrl);
mpBasicPage->SetInfo( mpNewInfo );
m_nBasicPageId = m_pTabCtrl->GetPageId("general");
m_pTabCtrl->SetTabPage(m_nBasicPageId, mpBasicPage);
- mpXSLTPage = new XMLFilterTabPageXSLT(m_pTabCtrl);
+ mpXSLTPage = VclPtr<XMLFilterTabPageXSLT>::Create(m_pTabCtrl);
mpXSLTPage->SetInfo( mpNewInfo );
m_nXSLTPageId = m_pTabCtrl->GetPageId("transformation");
@@ -75,9 +75,17 @@ XMLFilterTabDialog::XMLFilterTabDialog(vcl::Window *pParent, ResMgr& rResMgr,
XMLFilterTabDialog::~XMLFilterTabDialog()
{
- delete mpBasicPage;
- delete mpXSLTPage;
+ disposeOnce();
+}
+
+void XMLFilterTabDialog::dispose()
+{
+ mpBasicPage.disposeAndClear();
+ mpXSLTPage.disposeAndClear();
delete mpNewInfo;
+ m_pTabCtrl.clear();
+ m_pOKBtn.clear();
+ TabDialog::dispose();
}
@@ -257,8 +265,8 @@ bool XMLFilterTabDialog::onOk()
aMessage = aMessage.replaceAll( "%s", aReplace1 );
}
- MessageDialog aBox(this, aMessage);
- aBox.Execute();
+ ScopedVclPtrInstance< MessageDialog > aBox(this, aMessage);
+ aBox->Execute();
if( pFocusWindow )
pFocusWindow->GrabFocus();