diff options
Diffstat (limited to 'svtools/source/dialogs/wizdlg.cxx')
-rw-r--r-- | svtools/source/dialogs/wizdlg.cxx | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/svtools/source/dialogs/wizdlg.cxx b/svtools/source/dialogs/wizdlg.cxx index 5c42e0c6f93e..0d0acc4e5242 100644 --- a/svtools/source/dialogs/wizdlg.cxx +++ b/svtools/source/dialogs/wizdlg.cxx @@ -34,7 +34,7 @@ struct ImplWizPageData { ImplWizPageData* mpNext; - TabPage* mpPage; + VclPtr<TabPage> mpPage; }; @@ -42,7 +42,7 @@ struct ImplWizPageData struct ImplWizButtonData { ImplWizButtonData* mpNext; - Button* mpButton; + VclPtr<Button> mpButton; long mnOffset; }; @@ -363,6 +363,11 @@ WizardDialog::WizardDialog( vcl::Window* pParent, const OUString& rID, const OUS WizardDialog::~WizardDialog() { + disposeOnce(); +} + +void WizardDialog::dispose() +{ maWizardLayoutIdle.Stop(); // Remove all buttons @@ -372,6 +377,12 @@ WizardDialog::~WizardDialog() // Remove all pages while ( mpFirstPage ) RemovePage( mpFirstPage->mpPage ); + + mpCurTabPage.clear(); + mpPrevBtn.clear(); + mpNextBtn.clear(); + mpViewWindow.clear(); + ModalDialog::dispose(); } |