From: Felix Kaser Date: Mon, 28 Dec 2009 13:39:57 +0000 (+0100) Subject: connect to val-changed signal in contact manager X-Git-Url: https://git.0d.be/?p=empathy.git;a=commitdiff_plain;h=7a8efe86d8f47d911b15a9ad3f56c52ba66de41f connect to val-changed signal in contact manager new accounts have to be registered for status-changed signals, that can only be done if the account-validity-changed signal is handled. fixes bug #604628 --- diff --git a/libempathy/empathy-contact-manager.c b/libempathy/empathy-contact-manager.c index ce77d273..ee3b7051 100644 --- a/libempathy/empathy-contact-manager.c +++ b/libempathy/empathy-contact-manager.c @@ -175,6 +175,19 @@ contact_manager_status_changed_cb (TpAccount *account, self); } +static void +contact_manager_validity_changed_cb (TpAccountManager *account_manager, + TpAccount *account, + gboolean valid, + EmpathyContactManager *manager) +{ + if (valid) { + empathy_signal_connect_weak (account, "status-changed", + G_CALLBACK (contact_manager_status_changed_cb), + G_OBJECT (manager)); + } +} + static void contact_manager_finalize (GObject *object) { @@ -272,6 +285,10 @@ account_manager_prepared_cb (GObject *source_object, G_OBJECT (manager)); } g_list_free (accounts); + + empathy_signal_connect_weak (account_manager, "account-validity-changed", + G_CALLBACK (contact_manager_validity_changed_cb), + G_OBJECT (manager)); } static void