summaryrefslogtreecommitdiff
path: root/vcl/win/app
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2016-05-03 17:17:52 +0200
committerMichael Stahl <mstahl@redhat.com>2016-05-03 22:35:31 +0200
commitea3ce0b3073c72f474365e438ddabd19de915b76 (patch)
treed5575b77e4d4f03e29cd7ba0e30149b5b8fc19bd /vcl/win/app
parent7ecaf61287606001eac9b3d76df95a0a900e11c0 (diff)
tdf#99383 vcl: don't dispatch events from SolarMutexReleaser
Having SolarMutexReleaser effectively do Reschedule() on WNT and not on other platforms doesn't seem such a good idea. Let's try to restrict it so that it still calls ImplSalYieldMutexAcquireWithWait() but no longer dispatches messages, timers and idles. (regression from 482c52e91fe41a52e68827e9bf64a9736427d517) Change-Id: I52a2c88e9c2473e35909bf270b9e3ae7acbe0d17
Diffstat (limited to 'vcl/win/app')
-rw-r--r--vcl/win/app/salinst.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/vcl/win/app/salinst.cxx b/vcl/win/app/salinst.cxx
index bd5b49e1d219..4ca2a6442499 100644
--- a/vcl/win/app/salinst.cxx
+++ b/vcl/win/app/salinst.cxx
@@ -646,7 +646,10 @@ SalYieldResult WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents,
}
else
{
- eDidWork = ImplSalYield( bWait, bHandleAllCurrentEvents );
+ if (nReleased == 0) // tdf#99383 ReAcquireSolarMutex shouldn't Yield
+ {
+ eDidWork = ImplSalYield( bWait, bHandleAllCurrentEvents );
+ }
n = nCount;
while ( n )