[telepathy-glib/master] fd.o #25384 Remove any account which fails to prepare itself.
David Laban
david.laban at collabora.co.uk
Tue Dec 1 15:52:48 PST 2009
Rather than the account manager just never becoming ready.
---
telepathy-glib/account-manager.c | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/telepathy-glib/account-manager.c b/telepathy-glib/account-manager.c
index 33e5593..b4e6a80 100644
--- a/telepathy-glib/account-manager.c
+++ b/telepathy-glib/account-manager.c
@@ -990,7 +990,17 @@ _tp_account_manager_account_ready_cb (GObject *source_object,
GSimpleAsyncResult *result;
if (!tp_account_prepare_finish (account, res, NULL))
- return;
+ {
+ g_object_ref (account);
+ g_hash_table_remove (priv->accounts,
+ tp_proxy_get_object_path (account));
+
+ g_signal_emit (manager, signals[ACCOUNT_REMOVED], 0, account);
+ g_object_unref (account);
+
+ _tp_account_manager_check_core_ready (manager);
+ return;
+ }
/* see if there's any pending callbacks for this account */
result = g_hash_table_lookup (priv->create_results, account);
--
1.5.6.5
More information about the telepathy-commits
mailing list