[Telepathy-commits] [telepathy-salut/master] ft-manager: disconnect channel signals when disposing

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Fri Nov 21 03:46:49 PST 2008


---
 src/salut-ft-manager.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/src/salut-ft-manager.c b/src/salut-ft-manager.c
index ecd499c..a37680a 100644
--- a/src/salut-ft-manager.c
+++ b/src/salut-ft-manager.c
@@ -146,6 +146,7 @@ salut_ft_manager_dispose (GObject *object)
 {
   SalutFtManager *self = SALUT_FT_MANAGER (object);
   SalutFtManagerPrivate *priv = SALUT_FT_MANAGER_GET_PRIVATE (self);
+  GList *l;
 
   if (priv->dispose_has_run)
     return;
@@ -168,6 +169,14 @@ salut_ft_manager_dispose (GObject *object)
       priv->contact_manager = NULL;
     }
 
+  for (l = priv->channels; l != NULL; l = g_list_next (l))
+    {
+      SalutFileTransferChannel *chan = l->data;
+
+      g_signal_handlers_disconnect_matched (chan, G_SIGNAL_MATCH_DATA, 0, 0,
+          NULL, NULL, self);
+    }
+
   if (priv->channels)
     g_list_free (priv->channels);
 
-- 
1.5.6.5




More information about the Telepathy-commits mailing list