more double dispose protection.

Change-Id: I61ecf1561393959bc9a3647d515c4c9ce5119752
diff --git a/dbaccess/source/ui/app/AppView.cxx b/dbaccess/source/ui/app/AppView.cxx
index 237fc3a..2e67c18 100644
--- a/dbaccess/source/ui/app/AppView.cxx
+++ b/dbaccess/source/ui/app/AppView.cxx
@@ -214,10 +214,17 @@ OApplicationView::~OApplicationView()

void OApplicationView::dispose()
{
    stopComponentListening(m_xObject);
    m_pWin->Hide();
    boost::scoped_ptr<vcl::Window> aTemp(m_pWin);
    m_pWin = NULL;
    if (m_xObject.is())
    {
        stopComponentListening(m_xObject);
        m_xObject.clear();
    }
    if (m_pWin)
    {
        m_pWin->Hide();
        boost::scoped_ptr<vcl::Window> aTemp(m_pWin);
        m_pWin = NULL;
    }
    ODataView::dispose();
}

diff --git a/dbaccess/source/ui/browser/dataview.cxx b/dbaccess/source/ui/browser/dataview.cxx
index ba8968f..ab23fb2 100644
--- a/dbaccess/source/ui/browser/dataview.cxx
+++ b/dbaccess/source/ui/browser/dataview.cxx
@@ -86,6 +86,7 @@ namespace dbaui
    {
        m_rController.release();
        m_aSeparator.disposeAndClear();
        m_pAccel.reset();
        vcl::Window::dispose();
    }

diff --git a/svtools/source/contnr/imivctl1.cxx b/svtools/source/contnr/imivctl1.cxx
index 2f9c39c..9f26c98 100644
--- a/svtools/source/contnr/imivctl1.cxx
+++ b/svtools/source/contnr/imivctl1.cxx
@@ -173,7 +173,6 @@ SvxIconChoiceCtrl_Impl::~SvxIconChoiceCtrl_Impl()
    aVerSBar.disposeAndClear();
    aHorSBar.disposeAndClear();
    aScrBarBox.disposeAndClear();

}

void SvxIconChoiceCtrl_Impl::Clear( bool bInCtor )
diff --git a/svtools/source/contnr/ivctrl.cxx b/svtools/source/contnr/ivctrl.cxx
index 3e8db3b..d79b2a3 100644
--- a/svtools/source/contnr/ivctrl.cxx
+++ b/svtools/source/contnr/ivctrl.cxx
@@ -216,7 +216,8 @@ void SvtIconChoiceCtrl::GetFocus()

void SvtIconChoiceCtrl::LoseFocus()
{
    _pImp->LoseFocus();
    if (_pImp)
        _pImp->LoseFocus();
    Control::LoseFocus();
}