vcl: more double dispose protection.

Change-Id: Ib5c4ca5747cd55d7ea0f8c59b5aaa1f84c2a8fdc
diff --git a/svtools/source/contnr/ivctrl.cxx b/svtools/source/contnr/ivctrl.cxx
index d79b2a3..9c4465b 100644
--- a/svtools/source/contnr/ivctrl.cxx
+++ b/svtools/source/contnr/ivctrl.cxx
@@ -268,12 +268,12 @@ void SvtIconChoiceCtrl::SetEntryTextMode( SvxIconChoiceCtrlTextMode eMode, SvxIc

sal_uLong SvtIconChoiceCtrl::GetEntryCount() const
{
    return _pImp->GetEntryCount();
    return _pImp ? _pImp->GetEntryCount() : 0;
}

SvxIconChoiceCtrlEntry* SvtIconChoiceCtrl::GetEntry( sal_uLong nPos ) const
{
    return _pImp->GetEntry( nPos );
    return _pImp ? _pImp->GetEntry( nPos ) : NULL;
}

void SvtIconChoiceCtrl::CreateAutoMnemonics( MnemonicGenerator& _rUsedMnemonics )
@@ -283,7 +283,7 @@ void SvtIconChoiceCtrl::CreateAutoMnemonics( MnemonicGenerator& _rUsedMnemonics 

SvxIconChoiceCtrlEntry* SvtIconChoiceCtrl::GetSelectedEntry( sal_uLong& rPos ) const
{
    return _pImp->GetFirstSelectedEntry( rPos );
    return _pImp ? _pImp->GetFirstSelectedEntry( rPos ) : NULL;
}

void SvtIconChoiceCtrl::ClickIcon()
diff --git a/vcl/source/window/split.cxx b/vcl/source/window/split.cxx
index bd4b3fec..f678900 100644
--- a/vcl/source/window/split.cxx
+++ b/vcl/source/window/split.cxx
@@ -156,8 +156,12 @@ Splitter::~Splitter()

void Splitter::dispose()
{
    TaskPaneList *pTList = GetSystemWindow()->GetTaskPaneList();
    pTList->RemoveWindow( this );
    SystemWindow *pSysWin = GetSystemWindow();
    if(pSysWin)
    {
        TaskPaneList *pTList = pSysWin->GetTaskPaneList();
        pTList->RemoveWindow(this);
    }
    Window::dispose();
}

diff --git a/vcl/source/window/syswin.cxx b/vcl/source/window/syswin.cxx
index 02f2417..19768d7 100644
--- a/vcl/source/window/syswin.cxx
+++ b/vcl/source/window/syswin.cxx
@@ -185,6 +185,8 @@ bool SystemWindow::PreNotify( NotifyEvent& rNEvt )

TaskPaneList* SystemWindow::GetTaskPaneList()
{
    if( !mpImplData )
        return NULL;
    if( mpImplData->mpTaskPaneList )
        return mpImplData->mpTaskPaneList ;
    else