summaryrefslogtreecommitdiff
path: root/vcl/source/window/syswin.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/syswin.cxx
parent04acdd8db4236e5cd4a89c3ca3e9049ff731b717 (diff)
vcl: dispose of more Window sub-classes, particularly top-level windows.
Change-Id: If8311e5cf3193fd1434c3af5225367ca8e91fc6d
Diffstat (limited to 'vcl/source/window/syswin.cxx')
-rw-r--r--vcl/source/window/syswin.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/vcl/source/window/syswin.cxx b/vcl/source/window/syswin.cxx
index c5d0522dc0e1..63bbd764be03 100644
--- a/vcl/source/window/syswin.cxx
+++ b/vcl/source/window/syswin.cxx
@@ -106,12 +106,20 @@ void SystemWindow::loadUI(vcl::Window* pParent, const OString& rID, const OUStri
SystemWindow::~SystemWindow()
{
+ dispose();
+}
+
+void SystemWindow::dispose()
+{
maLayoutIdle.Stop();
delete mpImplData;
mpImplData = NULL;
+
// Hack to make sure code called from base ~Window does not interpret this
// as a SystemWindow (which it no longer is by then):
mpWindowImpl->mbSysWin = false;
+
+ Window::dispose();
}
bool SystemWindow::Notify( NotifyEvent& rNEvt )