add missing disposeAndClear pieces for VclMEdit

Also correct dispose ordering in dbaccess.
diff --git a/dbaccess/source/ui/app/AppDetailPageHelper.cxx b/dbaccess/source/ui/app/AppDetailPageHelper.cxx
index bebc01f..06c4a2a 100644
--- a/dbaccess/source/ui/app/AppDetailPageHelper.cxx
+++ b/dbaccess/source/ui/app/AppDetailPageHelper.cxx
@@ -252,13 +252,14 @@ void OAppDetailPageHelper::dispose()
            m_pLists[i].disposeAndClear();
        }
    }
    m_aFL.disposeAndClear();
    m_aTBPreview.disposeAndClear();
    m_aPreview.disposeAndClear();
    m_aDocumentInfo.disposeAndClear();
    m_pTablePreview.disposeAndClear();
    m_aBorder.disposeAndClear();
    m_aMenu.reset();
    m_pTablePreview.disposeAndClear();
    m_aDocumentInfo.disposeAndClear();
    m_aPreview.disposeAndClear();
    m_aBorder.disposeAndClear();
    m_aTBPreview.disposeAndClear();
    m_aFL.disposeAndClear();

    vcl::Window::dispose();
}

diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx
index f61969f..3ab9d13a 100644
--- a/sfx2/source/view/viewfrm.cxx
+++ b/sfx2/source/view/viewfrm.cxx
@@ -1489,7 +1489,8 @@ SfxViewFrame::~SfxViewFrame()
        // The Bindings delete the Frame!
        KillDispatcher_Impl();

    pImp->pWindow.clear();
    pImp->pWindow.disposeAndClear();
    pImp->pFocusWin.clear();

    if ( GetFrame().GetCurrentViewFrame() == this )
        GetFrame().SetCurrentViewFrame_Impl( NULL );
diff --git a/vcl/source/edit/vclmedit.cxx b/vcl/source/edit/vclmedit.cxx
index f11e404..4322248f 100644
--- a/vcl/source/edit/vclmedit.cxx
+++ b/vcl/source/edit/vclmedit.cxx
@@ -255,6 +255,11 @@ void ImpVclMEdit::InitFromStyle( WinBits nWinStyle )
ImpVclMEdit::~ImpVclMEdit()
{
    EndListening( *mpTextWindow->GetTextEngine() );
    mpScrollBox.disposeAndClear();
    mpVScrollBar.disposeAndClear();
    mpHScrollBar.disposeAndClear();
    mpTextWindow.disposeAndClear();
    pVclMultiLineEdit.disposeAndClear();
}

void ImpVclMEdit::ImpSetScrollBarRanges()
@@ -1153,17 +1158,17 @@ void VclMultiLineEdit::SetText( const OUString& rStr )

OUString VclMultiLineEdit::GetText() const
{
    return pImpVclMEdit->GetText();
    return pImpVclMEdit ? pImpVclMEdit->GetText() : OUString("");
}

OUString VclMultiLineEdit::GetText( LineEnd aSeparator ) const
{
    return pImpVclMEdit->GetText( aSeparator );
    return pImpVclMEdit ? pImpVclMEdit->GetText( aSeparator ) : OUString("");
}

OUString VclMultiLineEdit::GetTextLines(  LineEnd aSeparator ) const
OUString VclMultiLineEdit::GetTextLines( LineEnd aSeparator ) const
{
    return pImpVclMEdit->GetTextLines( aSeparator );
    return pImpVclMEdit ? pImpVclMEdit->GetTextLines( aSeparator ) : OUString("");
}

void VclMultiLineEdit::Resize()