summaryrefslogtreecommitdiff
path: root/svtools/source/dialogs/roadmapwizard.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svtools/source/dialogs/roadmapwizard.cxx')
-rw-r--r--svtools/source/dialogs/roadmapwizard.cxx19
1 files changed, 10 insertions, 9 deletions
diff --git a/svtools/source/dialogs/roadmapwizard.cxx b/svtools/source/dialogs/roadmapwizard.cxx
index aa9fb5c0843d..71d751fdf455 100644
--- a/svtools/source/dialogs/roadmapwizard.cxx
+++ b/svtools/source/dialogs/roadmapwizard.cxx
@@ -55,7 +55,7 @@ namespace svt
struct RoadmapWizardImpl : public RoadmapWizardTypes
{
- ORoadmap* pRoadmap;
+ ScopedVclPtr<ORoadmap> pRoadmap;
Paths aPaths;
PathId nActivePath;
StateDescriptions aStateDescriptors;
@@ -69,11 +69,6 @@ namespace svt
{
}
- ~RoadmapWizardImpl()
- {
- delete pRoadmap;
- }
-
/// returns the index of the current state in given path, or -1
static sal_Int32 getStateIndexInPath( WizardTypes::WizardState _nState, const WizardPath& _rPath );
/// returns the index of the current state in the path with the given id, or -1
@@ -137,7 +132,7 @@ namespace svt
SetLeftAlignedButtonCount( 1 );
SetEmptyViewMargin();
- m_pImpl->pRoadmap = new ORoadmap( this, WB_TABSTOP );
+ m_pImpl->pRoadmap.reset( VclPtr<ORoadmap>::Create( this, WB_TABSTOP ) );
m_pImpl->pRoadmap->SetText( SVT_RESSTR( STR_WIZDLG_ROADMAP_TITLE ) );
m_pImpl->pRoadmap->SetPosPixel( Point( 0, 0 ) );
m_pImpl->pRoadmap->SetItemSelectHdl( LINK( this, RoadmapWizard, OnRoadmapItemSelected ) );
@@ -154,7 +149,13 @@ namespace svt
RoadmapWizard::~RoadmapWizard()
{
+ disposeOnce();
+ }
+
+ void RoadmapWizard::dispose()
+ {
delete m_pImpl;
+ OWizardMachine::dispose();
}
@@ -531,9 +532,9 @@ namespace svt
}
- TabPage* RoadmapWizard::createPage( WizardState _nState )
+ VclPtr<TabPage> RoadmapWizard::createPage( WizardState _nState )
{
- TabPage* pPage( NULL );
+ VclPtr<TabPage> pPage;
StateDescriptions::const_iterator pos = m_pImpl->aStateDescriptors.find( _nState );
OSL_ENSURE( pos != m_pImpl->aStateDescriptors.end(),