tdf#91027 - cleanup dbaccess related dispose logic.

Change-Id: Ice92188b097974b8e305c0180a791e25ed537054
diff --git a/dbaccess/source/ui/dlg/dbwizsetup.cxx b/dbaccess/source/ui/dlg/dbwizsetup.cxx
index 6edc3ce..bb3885c 100644
--- a/dbaccess/source/ui/dlg/dbwizsetup.cxx
+++ b/dbaccess/source/ui/dlg/dbwizsetup.cxx
@@ -270,6 +270,7 @@ ODbTypeWizDialogSetup::~ODbTypeWizDialogSetup()
void ODbTypeWizDialogSetup::dispose()
{
    delete m_pOutSet;
    m_pOutSet = NULL;
    m_pGeneralPage.clear();
    m_pMySQLIntroPage.clear();
    m_pFinalPage.clear();
diff --git a/svtools/source/dialogs/roadmapwizard.cxx b/svtools/source/dialogs/roadmapwizard.cxx
index 83ef2f4..e6399790 100644
--- a/svtools/source/dialogs/roadmapwizard.cxx
+++ b/svtools/source/dialogs/roadmapwizard.cxx
@@ -33,16 +33,14 @@

namespace svt
{


    namespace
    {
        typedef ::std::set< WizardTypes::WizardState >          StateSet;
        typedef ::std::set< WizardTypes::WizardState > StateSet;

        typedef ::std::map<
                    RoadmapWizardTypes::PathId,
                    RoadmapWizardTypes::WizardPath
                >                                               Paths;
                > Paths;

        typedef ::std::map<
                    WizardTypes::WizardState,
@@ -50,7 +48,7 @@ namespace svt
                        OUString,
                        RoadmapWizardTypes::RoadmapPageFactory
                    >
                >                                               StateDescriptions;
                > StateDescriptions;
    }

    struct RoadmapWizardImpl : public RoadmapWizardTypes
@@ -155,10 +153,10 @@ namespace svt
    void RoadmapWizard::dispose()
    {
        delete m_pImpl;
        m_pImpl = NULL;
        OWizardMachine::dispose();
    }


    void RoadmapWizard::SetRoadmapHelpId( const OString& _rId )
    {
        m_pImpl->pRoadmap->SetHelpId( _rId );
diff --git a/svtools/source/dialogs/wizardmachine.cxx b/svtools/source/dialogs/wizardmachine.cxx
index 278df80..156159c 100644
--- a/svtools/source/dialogs/wizardmachine.cxx
+++ b/svtools/source/dialogs/wizardmachine.cxx
@@ -213,10 +213,18 @@ namespace svt
        m_pPrevPage.disposeAndClear();
        m_pHelp.disposeAndClear();

        for (WizardState i=0; i<m_pImpl->nFirstUnknownPage; ++i)
            GetPage(i)->disposeOnce();
        if (m_pImpl)
        {
            for (WizardState i = 0; i < m_pImpl->nFirstUnknownPage; ++i)
            {
                TabPage *pPage = GetPage(i);
                if (pPage)
                    pPage->disposeOnce();
            }
            delete m_pImpl;
            m_pImpl = NULL;
        }

        delete m_pImpl;
        WizardDialog::dispose();
    }

diff --git a/svtools/source/dialogs/wizdlg.cxx b/svtools/source/dialogs/wizdlg.cxx
index 0d0acc4..74c04e7 100644
--- a/svtools/source/dialogs/wizdlg.cxx
+++ b/svtools/source/dialogs/wizdlg.cxx
@@ -622,15 +622,14 @@ void WizardDialog::SetPage( sal_uInt16 nLevel, TabPage* pPage )

TabPage* WizardDialog::GetPage( sal_uInt16 nLevel ) const
{
    sal_uInt16              nTempLevel = 0;
    ImplWizPageData*    pPageData = mpFirstPage;
    while ( pPageData )
    sal_uInt16 nTempLevel = 0;

    for (ImplWizPageData* pPageData = mpFirstPage; pPageData;
         pPageData = pPageData->mpNext)
    {
        if ( nTempLevel == nLevel )
            return pPageData->mpPage;

        nTempLevel++;
        pPageData = pPageData->mpNext;
    }

    return NULL;