summaryrefslogtreecommitdiff
path: root/vcl/source/window/syswin.cxx
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2015-03-04 11:52:16 +0100
committerStephan Bergmann <sbergman@redhat.com>2015-03-04 13:27:03 +0100
commit6449e5bb6dd1f09678e09164ef21f455132af98f (patch)
tree5df5de09520652db63ff405744ec645c71ddfdcf /vcl/source/window/syswin.cxx
parent1855ffeb9108d443deb1d0b6806a18908a5935b1 (diff)
Hack to make an in-destruction SystemWindow no longer claim to be one
as observed by -fsanitize=vptr e.g. during CppunitTest_sc_macros_test (though the true fix might be to prevent all this from happening during ~SystemWindow anyway?): vcl::ImplGetLastSystemWindow(vcl::Window*) vcl::Window::SetParent(vcl::Window*) vcl::Window::doLazyDelete() UnoWrapper::WindowDestroyed(vcl::Window*) vcl::Window::~Window() SystemWindow::~SystemWindow() WorkWindow::~WorkWindow() VCLXDevice::DestroyOutputDevice() VCLXWindow::dispose() (anonymous namespace)::Frame::impl_disposeContainerWindow(com::sun::star::uno::Reference<com::sun::star::awt::XWindow>&) (anonymous namespace)::Frame::dispose() (anonymous namespace)::Frame::close(unsigned char) non-virtual thunk to (anonymous namespace)::Frame::close(unsigned char) SfxFrame::DoClose() ... Change-Id: I91495eaa3cb2c636fd093ae7eb8b6ae4733002bb
Diffstat (limited to 'vcl/source/window/syswin.cxx')
-rw-r--r--vcl/source/window/syswin.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/vcl/source/window/syswin.cxx b/vcl/source/window/syswin.cxx
index 5c953f3df449..dde7bc9e4032 100644
--- a/vcl/source/window/syswin.cxx
+++ b/vcl/source/window/syswin.cxx
@@ -109,6 +109,9 @@ SystemWindow::~SystemWindow()
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;
}
bool SystemWindow::Notify( NotifyEvent& rNEvt )