diff options
Diffstat (limited to 'filter/source/xsltdialog/xmlfilterdialogcomponent.cxx')
-rw-r--r-- | filter/source/xsltdialog/xmlfilterdialogcomponent.cxx | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx b/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx index 4ca2d999d1b6..5d710e5b8e5d 100644 --- a/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx +++ b/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx @@ -107,7 +107,7 @@ private: com::sun::star::uno::Reference<com::sun::star::awt::XWindow> mxParent; /// parent window com::sun::star::uno::Reference< XComponentContext > mxContext; - XMLFilterSettingsDialog* mpDialog; + VclPtr<XMLFilterSettingsDialog> mpDialog; }; @@ -266,11 +266,7 @@ void SAL_CALL XMLFilterDialogComponent::disposing() { ::SolarMutexGuard aGuard; - if( mpDialog ) - { - delete mpDialog; - mpDialog = NULL; - } + mpDialog.disposeAndClear(); if (pXSLTResMgr) { @@ -328,14 +324,14 @@ sal_Int16 SAL_CALL XMLFilterDialogComponent::execute( ) throw(RuntimeException, pXSLTResMgr = ResMgr::CreateResMgr( "xsltdlg", Application::GetSettings().GetUILanguageTag() ); } - if( NULL == mpDialog ) + if( nullptr == mpDialog ) { vcl::Window* pParent = DIALOG_NO_PARENT; if (mxParent.is()) pParent = VCLUnoHelper::GetWindow(mxParent); Reference< XComponent > xComp( this ); - mpDialog = new XMLFilterSettingsDialog(pParent, mxContext); + mpDialog = VclPtr<XMLFilterSettingsDialog>::Create(pParent, mxContext); mpDialog->Execute(); } else if( !mpDialog->IsVisible() ) |