summaryrefslogtreecommitdiff
path: root/tubes
diff options
context:
space:
mode:
authorWill Thompson <will.thompson@collabora.co.uk>2012-03-23 10:24:11 +0000
committerMatúš Kukan <matus.kukan@gmail.com>2012-07-17 16:39:43 +0200
commitb5935dea2e47eb4cdff1634b7b4c1c9ba06a11e0 (patch)
treeda1de8ed8f042a11b048780ad697e56ae571f1a9 /tubes
parentbc88b6ea5c1733ec50a7f3747d364af83f772b39 (diff)
tubes: add a hack to give time for caps to propagate :(
Diffstat (limited to 'tubes')
-rw-r--r--tubes/source/manager.cxx11
1 files changed, 11 insertions, 0 deletions
diff --git a/tubes/source/manager.cxx b/tubes/source/manager.cxx
index d3eeefe195a5..e503b03f4391 100644
--- a/tubes/source/manager.cxx
+++ b/tubes/source/manager.cxx
@@ -602,6 +602,12 @@ bool TeleManager::startBuddySession( TpAccount *pAccount, TpContact *pBuddy )
}
+static gboolean timeout_cb( void* pData)
+{
+ g_main_loop_quit( reinterpret_cast<GMainLoop*>( pData));
+ return FALSE;
+}
+
void TeleManager::prepareAccountManager()
{
INFO_LOGGER( "TeleManager::prepareAccountManager");
@@ -634,6 +640,11 @@ void TeleManager::prepareAccountManager()
tp_proxy_prepare_async( pImpl->mpAccountManager, NULL, TeleManager_AccountManagerReadyHandler, this);
iterateLoop( &TeleManager::isAccountManagerReadyHandlerInvoked);
+
+ /* Hack to make sure that our capabilities update from one account has
+ * propagated via the network and back to the other account. Sorry. */
+ g_timeout_add_seconds( 2, timeout_cb, pImpl->mpLoop);
+ g_main_loop_run( pImpl->mpLoop);
}