diff options
author | Will Thompson <will.thompson@collabora.co.uk> | 2012-03-23 10:24:11 +0000 |
---|---|---|
committer | Matúš Kukan <matus.kukan@gmail.com> | 2012-07-17 16:39:43 +0200 |
commit | b5935dea2e47eb4cdff1634b7b4c1c9ba06a11e0 (patch) | |
tree | da1de8ed8f042a11b048780ad697e56ae571f1a9 /tubes | |
parent | bc88b6ea5c1733ec50a7f3747d364af83f772b39 (diff) |
tubes: add a hack to give time for caps to propagate :(
Diffstat (limited to 'tubes')
-rw-r--r-- | tubes/source/manager.cxx | 11 |
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); } |