summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2016-12-13 09:48:52 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2016-12-13 09:49:21 +0200
commitf04ec99f5e6a543b8191ced61db4710c3c0de356 (patch)
tree4b90068c57e377545e53e50a200d281a550014c8 /vcl
parentede1a83e110ce7bc7d3560f415d6269ea3feb947 (diff)
tdf#104573 - Assertion failed: SolarMutex not locked
Change-Id: Ie46f0e2b60b99aea1c322c7891a41a2e7603c9e9
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/window/event.cxx6
-rw-r--r--vcl/source/window/mouse.cxx3
2 files changed, 9 insertions, 0 deletions
diff --git a/vcl/source/window/event.cxx b/vcl/source/window/event.cxx
index 38815a3a9f69..8feb212cc1b8 100644
--- a/vcl/source/window/event.cxx
+++ b/vcl/source/window/event.cxx
@@ -658,4 +658,10 @@ NotifyEvent::NotifyEvent( MouseNotifyEvent nEventType, vcl::Window* pWindow,
mnEventType = nEventType;
}
+NotifyEvent::~NotifyEvent()
+{
+ SolarMutexGuard aVclGuard;
+ mpWindow.clear();
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/source/window/mouse.cxx b/vcl/source/window/mouse.cxx
index d1cc051721bc..b769a8356778 100644
--- a/vcl/source/window/mouse.cxx
+++ b/vcl/source/window/mouse.cxx
@@ -161,7 +161,10 @@ void Window::ImplCallMouseMove( sal_uInt16 nMouseCode, bool bModChanged )
void Window::ImplGenerateMouseMove()
{
if ( !mpWindowImpl->mpFrameData->mnMouseMoveId )
+ {
+ SolarMutexGuard aVclGuard;
mpWindowImpl->mpFrameData->mnMouseMoveId = Application::PostUserEvent( LINK( mpWindowImpl->mpFrameWindow, Window, ImplGenerateMouseMoveHdl ), nullptr, true );
+ }
}
IMPL_LINK_NOARG(Window, ImplGenerateMouseMoveHdl, void*, void)