aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChandni Verma <chandniverma2112@gmail.com>2012-05-29 19:30:29 +0800
committerChandni Verma <chandniverma2112@gmail.com>2012-05-29 19:30:29 +0800
commit43383bec9be58220863824f14f35dea72922b0f1 (patch)
tree963797caef43844c51ed5722225251cad11c8dda
parent6722d80f683accae86977fc538069889f6f1918a (diff)
downloadgsoc2013-empathy-43383bec9be58220863824f14f35dea72922b0f1.tar
gsoc2013-empathy-43383bec9be58220863824f14f35dea72922b0f1.tar.gz
gsoc2013-empathy-43383bec9be58220863824f14f35dea72922b0f1.tar.bz2
gsoc2013-empathy-43383bec9be58220863824f14f35dea72922b0f1.tar.lz
gsoc2013-empathy-43383bec9be58220863824f14f35dea72922b0f1.tar.xz
gsoc2013-empathy-43383bec9be58220863824f14f35dea72922b0f1.tar.zst
gsoc2013-empathy-43383bec9be58220863824f14f35dea72922b0f1.zip
Disconnect all aggregator signal handlers on disposing EmpathyIndividualManager
-rw-r--r--libempathy/empathy-individual-manager.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/libempathy/empathy-individual-manager.c b/libempathy/empathy-individual-manager.c
index 28f35df2d..a14f64c37 100644
--- a/libempathy/empathy-individual-manager.c
+++ b/libempathy/empathy-individual-manager.c
@@ -24,6 +24,7 @@
#include <string.h>
+#include <telepathy-glib/telepathy-glib.h>
#include <telepathy-glib/account-manager.h>
#include <telepathy-glib/enums.h>
#include <telepathy-glib/proxy-subclass.h>
@@ -251,9 +252,6 @@ individual_manager_dispose (GObject *object)
EmpathyIndividualManagerPriv *priv = GET_PRIV (object);
g_hash_table_unref (priv->individuals);
-
- g_signal_handlers_disconnect_by_func (priv->aggregator,
- aggregator_individuals_changed_cb, object);
tp_clear_object (&priv->aggregator);
G_OBJECT_CLASS (empathy_individual_manager_parent_class)->dispose (object);
@@ -382,10 +380,10 @@ empathy_individual_manager_init (EmpathyIndividualManager *self)
g_free, g_object_unref);
priv->aggregator = folks_individual_aggregator_new ();
- g_signal_connect (priv->aggregator, "individuals-changed-detailed",
- G_CALLBACK (aggregator_individuals_changed_cb), self);
- g_signal_connect (priv->aggregator, "notify::is-quiescent",
- G_CALLBACK (aggregator_is_quiescent_notify_cb), self);
+ tp_g_signal_connect_object (priv->aggregator, "individuals-changed-detailed",
+ G_CALLBACK (aggregator_individuals_changed_cb), self, 0);
+ tp_g_signal_connect_object (priv->aggregator, "notify::is-quiescent",
+ G_CALLBACK (aggregator_is_quiescent_notify_cb), self, 0);
folks_individual_aggregator_prepare (priv->aggregator, NULL, NULL);
}