From 4baec725e0dc0713f0d47003e9b10bc3b62f56ff Mon Sep 17 00:00:00 2001 From: Jan-Marek Glogowski Date: Mon, 28 Aug 2017 19:58:32 +0200 Subject: WIN run main thread redirects ignoring SolarMutex This way we can drop all the special nReleased handling. Instead we use the same mechanism as on Mac, where we keep the lock, but disable it for the main thread. As a security measure we assert on duplicate redirects, which should not happen. As a result we can't use SendMessage on the main thread itself, which would normally just call the WinProc directly. This could be accomplished by converting the redirect bool into a counter, which should be safe, as no other thread could acquire the SolarMutex, as we don't release it. Change-Id: Icd87b3da37a2489f3cad2bc80215bf93fc41d388 Reviewed-on: https://gerrit.libreoffice.org/42583 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski --- vcl/inc/unx/gtk/gtkinst.hxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'vcl/inc/unx/gtk/gtkinst.hxx') diff --git a/vcl/inc/unx/gtk/gtkinst.hxx b/vcl/inc/unx/gtk/gtkinst.hxx index 1585c778afac..595a7adb7089 100644 --- a/vcl/inc/unx/gtk/gtkinst.hxx +++ b/vcl/inc/unx/gtk/gtkinst.hxx @@ -208,7 +208,7 @@ public: const SystemGraphicsData* = nullptr ) override; virtual SalBitmap* CreateSalBitmap() override; - virtual bool DoYield(bool bWait, bool bHandleAllCurrentEvents, sal_uLong nReleased) override; + virtual bool DoYield(bool bWait, bool bHandleAllCurrentEvents) override; virtual bool AnyInput( VclInputFlags nType ) override; // impossible to handle correctly, as "main thread" depends on the dispatch mutex virtual bool IsMainThread() const override { return false; } -- cgit