summaryrefslogtreecommitdiff
path: root/basctl/source/basicide/layout.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2015-05-26 12:42:44 +0200
committerNoel Grandin <noel@peralex.com>2015-05-26 12:42:56 +0200
commitdbca69b975ea8b25c040f12441d70f90cf0e9ab4 (patch)
tree7f5377dafaa526b515cbf30a606155ee6478b382 /basctl/source/basicide/layout.cxx
parent26092f54865645722aeed596af62d20918aa2046 (diff)
tdf#91575 - CRASH: when "My Macros & Dialogs Standard" window close
Change-Id: Iad4f67e78a0aa4c67f0c450e17278f873944aa23
Diffstat (limited to 'basctl/source/basicide/layout.cxx')
-rw-r--r--basctl/source/basicide/layout.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/basctl/source/basicide/layout.cxx b/basctl/source/basicide/layout.cxx
index a42c99cc44ec..12ad6277055b 100644
--- a/basctl/source/basicide/layout.cxx
+++ b/basctl/source/basicide/layout.cxx
@@ -184,7 +184,10 @@ void Layout::SplittedSide::dispose()
{
aSplitter.disposeAndClear();
for (auto i = vItems.begin(); i != vItems.end(); ++i)
+ {
i->pSplit.disposeAndClear();
+ i->pWin.clear();
+ }
}
// Add() -- adds a new window to the side (after construction)
@@ -223,6 +226,8 @@ void Layout::SplittedSide::Remove (DockingWindow* pWin)
if (iWin == vItems.size())
return;
// remove
+ vItems[iWin].pSplit.disposeAndClear();
+ vItems[iWin].pWin.clear();
vItems.erase(vItems.begin() + iWin);
// if that was the first one, remove the first splitter line
if (iWin == 0 && !vItems.empty())