vcl/source/app/svmain.cxx |   20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

New commits:
commit 10da3d817afd3f5d5c4f84cb814d56efc0678d43
Author: Luboš Luňák <l.lu...@collabora.com>
Date:   Wed May 30 18:03:31 2018 +0200

    avoid a deadlock when the crash handler can't acquire SolarMutex
    
    Change-Id: Iea2d9b993dcf08fe022f97a2ac8e15fba9a8568c
    Reviewed-on: https://gerrit.libreoffice.org/55090
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Luboš Luňák <l.lu...@collabora.com>

diff --git a/vcl/source/app/svmain.cxx b/vcl/source/app/svmain.cxx
index f337bc9657ce..bd7a4d6890ea 100644
--- a/vcl/source/app/svmain.cxx
+++ b/vcl/source/app/svmain.cxx
@@ -158,16 +158,18 @@ oslSignalAction VCLExceptionSignal_impl( void* /*pData*/, 
oslSignalInfo* pInfo)
     {
         bIn = true;
 
-        SolarMutexGuard aLock;
-
-        // do not stop timer because otherwise the UAE-Box will not be painted 
as well
-        ImplSVData* pSVData = ImplGetSVData();
-        if ( pSVData->mpApp )
+        vcl::SolarMutexTryAndBuyGuard aLock;
+        if( aLock.isAcquired())
         {
-            SystemWindowFlags nOldMode = Application::GetSystemWindowMode();
-            Application::SetSystemWindowMode( nOldMode & 
~SystemWindowFlags::NOAUTOMODE );
-            pSVData->mpApp->Exception( nVCLException );
-            Application::SetSystemWindowMode( nOldMode );
+            // do not stop timer because otherwise the UAE-Box will not be 
painted as well
+            ImplSVData* pSVData = ImplGetSVData();
+            if ( pSVData->mpApp )
+            {
+                SystemWindowFlags nOldMode = 
Application::GetSystemWindowMode();
+                Application::SetSystemWindowMode( nOldMode & 
~SystemWindowFlags::NOAUTOMODE );
+                pSVData->mpApp->Exception( nVCLException );
+                Application::SetSystemWindowMode( nOldMode );
+            }
         }
         bIn = false;
     }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to