diff options
author | Xavier Claessens <xclaesse@src.gnome.org> | 2008-04-13 20:39:13 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2008-04-13 20:39:13 +0800 |
commit | 213318adaf231512a98183394bf968ebd6c1a857 (patch) | |
tree | c0d14096dbffb7f5e22b143282780b38b5d0a30d /libempathy/empathy-contact-manager.c | |
parent | 97ae7e9c570dd2165190d2549a42081963d79be3 (diff) | |
download | gsoc2013-empathy-213318adaf231512a98183394bf968ebd6c1a857.tar gsoc2013-empathy-213318adaf231512a98183394bf968ebd6c1a857.tar.gz gsoc2013-empathy-213318adaf231512a98183394bf968ebd6c1a857.tar.bz2 gsoc2013-empathy-213318adaf231512a98183394bf968ebd6c1a857.tar.lz gsoc2013-empathy-213318adaf231512a98183394bf968ebd6c1a857.tar.xz gsoc2013-empathy-213318adaf231512a98183394bf968ebd6c1a857.tar.zst gsoc2013-empathy-213318adaf231512a98183394bf968ebd6c1a857.zip |
Fix disconnection of AccountStatusChanged signal.
svn path=/trunk/; revision=932
Diffstat (limited to 'libempathy/empathy-contact-manager.c')
-rw-r--r-- | libempathy/empathy-contact-manager.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/libempathy/empathy-contact-manager.c b/libempathy/empathy-contact-manager.c index a151dbd26..cad19293e 100644 --- a/libempathy/empathy-contact-manager.c +++ b/libempathy/empathy-contact-manager.c @@ -38,6 +38,7 @@ struct _EmpathyContactManagerPriv { GHashTable *lists; MissionControl *mc; + gpointer token; }; static void empathy_contact_manager_class_init (EmpathyContactManagerClass *klass); @@ -188,11 +189,7 @@ contact_manager_finalize (GObject *object) { EmpathyContactManagerPriv *priv = GET_PRIV (object); - dbus_g_proxy_disconnect_signal (DBUS_G_PROXY (priv->mc), - "AccountStatusChanged", - G_CALLBACK (contact_manager_status_changed_cb), - object); - + empathy_disconnect_account_status_changed (priv->token); g_hash_table_foreach (priv->lists, contact_manager_disconnect_foreach, object); @@ -224,10 +221,9 @@ empathy_contact_manager_init (EmpathyContactManager *manager) (GDestroyNotify) g_object_unref); priv->mc = empathy_mission_control_new (); - - empathy_connect_to_account_status_changed (priv->mc, - G_CALLBACK (contact_manager_status_changed_cb), - manager, NULL); + priv->token = empathy_connect_to_account_status_changed (priv->mc, + G_CALLBACK (contact_manager_status_changed_cb), + manager, NULL); /* Get ContactList for existing connections */ accounts = mission_control_get_online_connections (priv->mc, NULL); |