diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2016-12-19 23:19:09 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2016-12-19 23:19:09 +0100 |
commit | 30e7c3051dd582307437b82f1dbc21290fd2e916 (patch) | |
tree | 78a9aa5a7f36cb4d8f0df160f5ce6709c0da4a91 /tubes | |
parent | db2ced6c8c42c3fd6bcf77186fdc4c0332928fad (diff) |
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
Diffstat (limited to 'tubes')
-rw-r--r-- | tubes/source/manager.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/tubes/source/manager.cxx b/tubes/source/manager.cxx index aa550058d6f5..a742e2811491 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; } |