aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy/empathy-contact-manager.c
diff options
context:
space:
mode:
authorXavier Claessens <xclaesse@src.gnome.org>2008-04-13 20:39:13 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2008-04-13 20:39:13 +0800
commit213318adaf231512a98183394bf968ebd6c1a857 (patch)
treec0d14096dbffb7f5e22b143282780b38b5d0a30d /libempathy/empathy-contact-manager.c
parent97ae7e9c570dd2165190d2549a42081963d79be3 (diff)
downloadgsoc2013-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.c14
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);