Kaydet (Commit) 30e7c305 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

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
üst db2ced6c
......@@ -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;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment