[empathy] IndividualManager: disconnect handler from aggregator
- From: Will Thompson <wjt src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy] IndividualManager: disconnect handler from aggregator
- Date: Tue, 6 Sep 2011 17:34:39 +0000 (UTC)
commit 36ef8807996629af42cec57fdb2adf4799b1cba4
Author: Will Thompson <will thompson collabora co uk>
Date: Tue Sep 6 11:06:30 2011 +0100
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 files changed, 3 insertions(+), 0 deletions(-)
---
diff --git a/libempathy/empathy-individual-manager.c b/libempathy/empathy-individual-manager.c
index 47a01cb..7b6adef 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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]