[Libreoffice-commits] core.git: include/vcl vcl/source
Noel Grandin
noel.grandin at collabora.co.uk
Tue Dec 13 07:50:00 UTC 2016
include/vcl/event.hxx | 1 +
vcl/source/window/event.cxx | 6 ++++++
vcl/source/window/mouse.cxx | 3 +++
3 files changed, 10 insertions(+)
New commits:
commit f04ec99f5e6a543b8191ced61db4710c3c0de356
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date: Tue Dec 13 09:48:52 2016 +0200
tdf#104573 - Assertion failed: SolarMutex not locked
Change-Id: Ie46f0e2b60b99aea1c322c7891a41a2e7603c9e9
diff --git a/include/vcl/event.hxx b/include/vcl/event.hxx
index 9737bac..a5820c1 100644
--- a/include/vcl/event.hxx
+++ b/include/vcl/event.hxx
@@ -317,6 +317,7 @@ public:
NotifyEvent( MouseNotifyEvent nEventType,
vcl::Window* pWindow,
const void* pEvent = nullptr );
+ ~NotifyEvent();
MouseNotifyEvent GetType() const { return mnEventType; }
vcl::Window* GetWindow() const { return mpWindow; }
diff --git a/vcl/source/window/event.cxx b/vcl/source/window/event.cxx
index 38815a3..8feb212 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 d1cc051..b769a83 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)
More information about the Libreoffice-commits
mailing list