From 36ef8807996629af42cec57fdb2adf4799b1cba4 Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Tue, 6 Sep 2011 11:06:30 +0100 Subject: IndividualManager: disconnect handler from aggregator Previously, the handler for FolksIndividualAggregator::individuals-changed was never disconnected; thus it could be called after EmpathyIndividualManager dies (if its aggregator outlives it), and crash us. https://bugzilla.gnome.org/show_bug.cgi?id=658340 --- libempathy/empathy-individual-manager.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libempathy/empathy-individual-manager.c') diff --git a/libempathy/empathy-individual-manager.c b/libempathy/empathy-individual-manager.c index 47a01cb8d..7b6adef97 100644 --- a/libempathy/empathy-individual-manager.c +++ b/libempathy/empathy-individual-manager.c @@ -234,6 +234,9 @@ individual_manager_dispose (GObject *object) EmpathyIndividualManagerPriv *priv = GET_PRIV (object); g_hash_table_destroy (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); -- cgit v1.2.3