summaryrefslogtreecommitdiff
path: root/vcl/source/window/winproc.cxx
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2015-05-07 11:08:24 +0100
committerMichael Meeks <michael.meeks@collabora.com>2015-05-07 11:12:44 +0100
commitcc444e083c59ffcd73520faf55a28f55cfcb0068 (patch)
treeddf5b21f2a88c0ffd0391cad97d8b2c109ae706b /vcl/source/window/winproc.cxx
parentbbdd739d6e2024f57e692e646295644faf44af22 (diff)
Hold a reference on the Window while emitting events from vcl backends.
Change-Id: I4673dc03c214ca8f5c227a444e182a45f6199b9b
Diffstat (limited to 'vcl/source/window/winproc.cxx')
-rw-r--r--vcl/source/window/winproc.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/vcl/source/window/winproc.cxx b/vcl/source/window/winproc.cxx
index 6cccd1879333..30db41410b6e 100644
--- a/vcl/source/window/winproc.cxx
+++ b/vcl/source/window/winproc.cxx
@@ -2377,11 +2377,14 @@ static void ImplHandleSalQueryCharPosition( vcl::Window *pWindow,
}
}
-bool ImplWindowFrameProc( vcl::Window* pWindow, SalFrame* /*pFrame*/,
+bool ImplWindowFrameProc( vcl::Window* _pWindow, SalFrame* /*pFrame*/,
sal_uInt16 nEvent, const void* pEvent )
{
DBG_TESTSOLARMUTEX();
+ // Ensure the window survives during this method.
+ VclPtr<vcl::Window> pWindow( _pWindow );
+
bool nRet = false;
// #119709# for some unknown reason it is possible to receive events (in this case key events)