more lifecycle cleanup & fixing.

Change-Id: Icc9051bad16c0e66c9e9f631c487a2facde72e9f
diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index 4cddaa3..0c4c042 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -288,11 +288,9 @@ void ScInputWindow::dispose()

    SfxImageManager::GetImageManager( *SC_MOD() )->ReleaseToolBox( this );

    pRuntimeWindow.disposeAndClear();
    aWndPos.disposeAndClear();

    pRuntimeWindow.reset();

    pRuntimeWindow.disposeAndClear();
    ToolBox::dispose();
}

diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx
index 3ab9d13a..42f1811 100644
--- a/sfx2/source/view/viewfrm.cxx
+++ b/sfx2/source/view/viewfrm.cxx
@@ -1477,7 +1477,6 @@ SfxViewFrame::SfxViewFrame

SfxViewFrame::~SfxViewFrame()
{

    SetDowning_Impl();

    if ( SfxViewFrame::Current() == this )
diff --git a/vcl/source/window/toolbox2.cxx b/vcl/source/window/toolbox2.cxx
index 0378a20..574705a 100644
--- a/vcl/source/window/toolbox2.cxx
+++ b/vcl/source/window/toolbox2.cxx
@@ -165,7 +165,7 @@ ImplToolItem::ImplToolItem( const ImplToolItem& rItem ) :

ImplToolItem::~ImplToolItem()
{
    mpWindow.disposeAndClear();
    // don't dispose mpWindow - we get copied around.
}

ImplToolItem& ImplToolItem::operator=( const ImplToolItem& rItem )
diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx
index 25b599b..95468f3 100644
--- a/vcl/source/window/window2.cxx
+++ b/vcl/source/window/window2.cxx
@@ -1346,7 +1346,8 @@ void Window::SetHelpText( const OUString& rHelpText )

void Window::SetQuickHelpText( const OUString& rHelpText )
{
    mpWindowImpl->maQuickHelpText = rHelpText;
    if (mpWindowImpl)
        mpWindowImpl->maQuickHelpText = rHelpText;
}

const OUString& Window::GetQuickHelpText() const