diff options
Diffstat (limited to 'vcl/source/window/splitwin.cxx')
-rw-r--r-- | vcl/source/window/splitwin.cxx | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/vcl/source/window/splitwin.cxx b/vcl/source/window/splitwin.cxx index c18e1d06adca..293479151943 100644 --- a/vcl/source/window/splitwin.cxx +++ b/vcl/source/window/splitwin.cxx @@ -53,9 +53,9 @@ struct ImplSplitItem long mnOldWidth; long mnOldHeight; ImplSplitSet* mpSet; - vcl::Window* mpWindow; - vcl::Window* mpOrgParent; - sal_uInt16 mnId; + VclPtr<vcl::Window> mpWindow; + VclPtr<vcl::Window> mpOrgParent; + sal_uInt16 mnId; SplitWindowItemBits mnBits; bool mbFixed; bool mbSubSize; @@ -1347,9 +1347,16 @@ SplitWindow::SplitWindow( vcl::Window* pParent, WinBits nStyle ) : SplitWindow::~SplitWindow() { + disposeOnce(); +} + +void SplitWindow::dispose() +{ // delete Sets - ImplDeleteSet( mpMainSet ); + if (mpMainSet) + ImplDeleteSet( mpMainSet ); mpMainSet = NULL; //NULL for base-class callbacks during dtoring + DockingWindow::dispose(); } void SplitWindow::ImplSetWindowSize( long nDelta ) |