[Libreoffice-commits] core.git: tubes/source

Stephan Bergmann sbergman at redhat.com
Mon Dec 19 22:22:31 UTC 2016


 tubes/source/manager.cxx |    4 ++++
 1 file changed, 4 insertions(+)

New commits:
commit 30e7c3051dd582307437b82f1dbc21290fd2e916
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Dec 19 23:19:09 2016 +0100

    Fix SolarMutex getting lost across call to g_main_context_iteration
    
    At least with SAL_USE_VCLPLUGIN=gtk, sticking DBG_TESTSOLARMUTEX() before and
    after this while loop demonstrates that, without the explicit
    SolarMutexReleaser, the SolarMutex was acquired before the loop but isn't
    thereafter.
    
    Change-Id: I4a97063103193821cc5eb3469484dd3346a60822

diff --git a/tubes/source/manager.cxx b/tubes/source/manager.cxx
index aa55005..a742e28 100644
--- a/tubes/source/manager.cxx
+++ b/tubes/source/manager.cxx
@@ -24,6 +24,7 @@
 #include <osl/mutex.hxx>
 #include <rtl/strbuf.hxx>
 #include <rtl/uuid.h>
+#include <vcl/svapp.hxx>
 
 #include <telepathy-glib/telepathy-glib.h>
 #include <stdio.h>
@@ -492,7 +493,10 @@ bool TeleManager::createAccountManager()
     TeleManagerImpl::mbAccountManagerReadyHandlerInvoked = false;
     tp_proxy_prepare_async( pImpl->mpAccountManager, nullptr, TeleManagerImpl::AccountManagerReadyHandler, nullptr);
     while (!TeleManagerImpl::mbAccountManagerReadyHandlerInvoked)
+    {
+        SolarMutexReleaser rel;
         g_main_context_iteration( nullptr, TRUE);
+    }
 
     return TeleManagerImpl::mbAccountManagerReady;
 }


More information about the Libreoffice-commits mailing list