summaryrefslogtreecommitdiff
path: root/svx/source/form/fmexpl.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/form/fmexpl.cxx')
-rw-r--r--svx/source/form/fmexpl.cxx14
1 files changed, 10 insertions, 4 deletions
diff --git a/svx/source/form/fmexpl.cxx b/svx/source/form/fmexpl.cxx
index 4a7a53bd89a9..44c636aeef96 100644
--- a/svx/source/form/fmexpl.cxx
+++ b/svx/source/form/fmexpl.cxx
@@ -505,7 +505,7 @@ namespace svxform
{
SetHelpId( HID_FORM_NAVIGATOR_WIN );
- m_pNavigatorTree = new NavigatorTree( this );
+ m_pNavigatorTree = VclPtr<NavigatorTree>::Create( this );
m_pNavigatorTree->Show();
SetText( SVX_RES(RID_STR_FMEXPLORER) );
SfxDockingWindow::SetFloatingSize( Size(200,200) );
@@ -514,7 +514,13 @@ namespace svxform
NavigatorFrame::~NavigatorFrame()
{
- delete m_pNavigatorTree;
+ disposeOnce();
+ }
+
+ void NavigatorFrame::dispose()
+ {
+ m_pNavigatorTree.disposeAndClear();
+ SfxDockingWindow::dispose();
}
@@ -607,9 +613,9 @@ namespace svxform
SfxBindings* _pBindings, SfxChildWinInfo* _pInfo )
:SfxChildWindow( _pParent, _nId )
{
- pWindow = new NavigatorFrame( _pBindings, this, _pParent );
+ pWindow = VclPtr<NavigatorFrame>::Create( _pBindings, this, _pParent );
eChildAlignment = SfxChildAlignment::NOALIGNMENT;
- static_cast<SfxDockingWindow*>(pWindow)->Initialize( _pInfo );
+ static_cast<SfxDockingWindow*>(pWindow.get())->Initialize( _pInfo );
}