summaryrefslogtreecommitdiff
path: root/sfx2/source/dialog/splitwin.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sfx2/source/dialog/splitwin.cxx')
-rw-r--r--sfx2/source/dialog/splitwin.cxx19
1 files changed, 11 insertions, 8 deletions
diff --git a/sfx2/source/dialog/splitwin.cxx b/sfx2/source/dialog/splitwin.cxx
index 036a578c166d..4a7d42377a39 100644
--- a/sfx2/source/dialog/splitwin.cxx
+++ b/sfx2/source/dialog/splitwin.cxx
@@ -87,15 +87,16 @@ class SfxEmptySplitWin_Impl : public SplitWindow
*/
friend class SfxSplitWindow;
- SfxSplitWindow* pOwner;
- bool bFadeIn;
- bool bAutoHide;
- bool bSplit;
- bool bEndAutoHide;
- Timer aTimer;
- Point aLastPos;
+ VclPtr<SfxSplitWindow> pOwner;
+ bool bFadeIn;
+ bool bAutoHide;
+ bool bSplit;
+ bool bEndAutoHide;
+ Timer aTimer;
+ Point aLastPos;
sal_uInt16 nState;
+public:
SfxEmptySplitWin_Impl( SfxSplitWindow *pParent )
: SplitWindow( pParent->GetParent(), WinBits( WB_BORDER | WB_3DLOOK ) )
, pOwner( pParent )
@@ -119,6 +120,7 @@ friend class SfxSplitWindow;
virtual void dispose() SAL_OVERRIDE
{
aTimer.Stop();
+ pOwner.clear();
SplitWindow::dispose();
}
@@ -315,10 +317,11 @@ void SfxSplitWindow::dispose()
// Set pOwner to NULL, otherwise try to delete pEmptyWin once more. The
// window that is just being docked is always deleted from the outside.
pEmptyWin->pOwner = NULL;
- delete pEmptyWin;
}
+ pEmptyWin.clear();
delete pDockArr;
+ pActive.clear();
SplitWindow::dispose();
}