[telepathy-gabble/master] file-transfer-channel: connect bytestreams signals using gabble_signal_connect_weak

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Fri Apr 3 09:26:09 PDT 2009


---
 src/file-transfer-channel.c |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/file-transfer-channel.c b/src/file-transfer-channel.c
index aede279..fa9d6f9 100644
--- a/src/file-transfer-channel.c
+++ b/src/file-transfer-channel.c
@@ -763,8 +763,6 @@ gabble_file_transfer_channel_dispose (GObject *object)
 
   if (self->priv->bytestream != NULL)
     {
-      g_signal_handlers_disconnect_matched (self->priv->bytestream,
-          G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, self);
       g_object_unref (self->priv->bytestream);
       self->priv->bytestream = NULL;
     }
@@ -1019,8 +1017,8 @@ set_bytestream (GabbleFileTransferChannel *self,
 
   self->priv->bytestream = g_object_ref (bytestream);
 
-  g_signal_connect (bytestream, "state-changed",
-      G_CALLBACK (bytestream_state_changed_cb), self);
+  gabble_signal_connect_weak (bytestream, "state-changed",
+      G_CALLBACK (bytestream_state_changed_cb), G_OBJECT (self));
 }
 
 static void
@@ -1337,8 +1335,8 @@ gabble_file_transfer_channel_accept_file (TpSvcChannelTypeFileTransfer *iface,
   self->priv->initial_offset = 0;
 
   g_assert (self->priv->bytestream != NULL);
-  g_signal_connect (self->priv->bytestream, "data-received",
-      G_CALLBACK (data_received_cb), self);
+  gabble_signal_connect_weak (self->priv->bytestream, "data-received",
+      G_CALLBACK (data_received_cb), G_OBJECT (self));
 
   /* channel state will change to open once the bytestream is open */
   /* TODO: set a function once we support resume */
-- 
1.5.6.5




More information about the telepathy-commits mailing list