[telepathy-glib/master] account-manager: signal account-validity-changed before the account is ready

Jonny Lamb jonny.lamb at collabora.co.uk
Mon Sep 28 05:16:03 PDT 2009


Signed-off-by: Jonny Lamb <jonny.lamb at collabora.co.uk>
---
 telepathy-glib/account-manager.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/telepathy-glib/account-manager.c b/telepathy-glib/account-manager.c
index 8b6a019..8df01bd 100644
--- a/telepathy-glib/account-manager.c
+++ b/telepathy-glib/account-manager.c
@@ -350,7 +350,9 @@ _tp_account_manager_validity_changed_cb (TpAccountManager *proxy,
     }
   else
     {
-      tp_account_manager_ensure_account (manager, path);
+      account = tp_account_manager_ensure_account (manager, path);
+      g_signal_emit (manager, signals[ACCOUNT_VALIDITY_CHANGED], 0,
+          account, valid);
     }
 }
 
@@ -682,7 +684,8 @@ tp_account_manager_class_init (TpAccountManagerClass *klass)
    * @account: a #TpAccount
    * @valid: %TRUE if the account is now valid
    *
-   * Emitted when the validity on @account changes.
+   * Emitted when the validity on @account changes. @account is not guaranteed
+   * to be ready when this signal is emitted.
    *
    * Since: 0.7.UNRELEASED
    */
@@ -976,8 +979,6 @@ _tp_account_manager_account_ready_cb (GObject *source_object,
       g_object_unref (result);
     }
 
-  g_signal_emit (manager, signals[ACCOUNT_VALIDITY_CHANGED], 0, account, TRUE);
-
   g_signal_connect (account, "notify::enabled",
       G_CALLBACK (_tp_account_manager_account_enabled_cb), manager);
 
-- 
1.5.6.5




More information about the telepathy-commits mailing list