summaryrefslogtreecommitdiff
path: root/vcl/source/app/svapp.cxx
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2015-08-04 18:05:20 +0200
committerMichael Stahl <mstahl@redhat.com>2015-08-04 23:50:53 +0200
commit4231274abaec8e45538788bd67261044d7ef4bea (patch)
tree6faf543c678e088b523f93fd1be77bad1102b509 /vcl/source/app/svapp.cxx
parent1f45a84af05d53c58c1bb5ceeec070eb8255ef75 (diff)
tdf#76845: vcl: main thread does not necessarily have SolarMutex
... at least not if VCLXWindowImpl::OnProcessCallbacks drops it and calls arbitrary event handlers. So try to make nested SolarMutexReleaser work in that case (although poorly). Change-Id: I1e2a1f4d6f42f826692696f7d92d1c3d71291f39
Diffstat (limited to 'vcl/source/app/svapp.cxx')
-rw-r--r--vcl/source/app/svapp.cxx4
1 files changed, 2 insertions, 2 deletions
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx
index 73c91756df52..c7dff0b1952d 100644
--- a/vcl/source/app/svapp.cxx
+++ b/vcl/source/app/svapp.cxx
@@ -394,9 +394,9 @@ void Application::ReAcquireSolarMutex(sal_uLong const nReleased)
{
// 0 would mean that events/timers will be handled without locking
// SolarMutex (racy)
- assert(nReleased != 0);
+ SAL_WARN_IF(nReleased == 0, "vcl", "SolarMutexReleaser without SolarMutex");
#ifdef WNT
- if (ImplGetSVData()->mbDeInit) // do not Yield in DeInitVCL
+ if (nReleased == 0 || ImplGetSVData()->mbDeInit) //do not Yield in DeInitVCL
AcquireSolarMutex(nReleased);
else
ImplYield(false, false, nReleased);