summaryrefslogtreecommitdiff
path: root/vcl/source/window/syschild.cxx
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2015-01-09 15:26:08 +0000
committerMichael Meeks <michael.meeks@collabora.com>2015-04-09 20:11:06 +0100
commit9a6bf4be437102004a01ee5818e943f0e095eefe (patch)
treeb341a91c6983b9bb74052189bc06545549562e4f /vcl/source/window/syschild.cxx
parent04acdd8db4236e5cd4a89c3ca3e9049ff731b717 (diff)
vcl: dispose of more Window sub-classes, particularly top-level windows.
Change-Id: If8311e5cf3193fd1434c3af5225367ca8e91fc6d
Diffstat (limited to 'vcl/source/window/syschild.cxx')
-rw-r--r--vcl/source/window/syschild.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/vcl/source/window/syschild.cxx b/vcl/source/window/syschild.cxx
index f82e274d3c12..119bd1b0499e 100644
--- a/vcl/source/window/syschild.cxx
+++ b/vcl/source/window/syschild.cxx
@@ -133,12 +133,18 @@ SystemChildWindow::SystemChildWindow( vcl::Window* pParent, WinBits nStyle, Syst
SystemChildWindow::~SystemChildWindow()
{
+ dispose();
+}
+
+void SystemChildWindow::dispose()
+{
Hide();
- if ( mpWindowImpl->mpSysObj )
+ if ( mpWindowImpl && mpWindowImpl->mpSysObj )
{
ImplGetSVData()->mpDefInst->DestroyObject( mpWindowImpl->mpSysObj );
mpWindowImpl->mpSysObj = NULL;
}
+ Window::dispose();
}
const SystemEnvData* SystemChildWindow::GetSystemData() const