[Telepathy-commits] [telepathy-gabble/master] Disconnect signal handlers when MediaChannel is destroyed

Will Thompson will.thompson at collabora.co.uk
Thu Feb 19 02:36:10 PST 2009


---
 src/media-channel.c |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/media-channel.c b/src/media-channel.c
index a696dba..6323be7 100644
--- a/src/media-channel.c
+++ b/src/media-channel.c
@@ -46,6 +46,7 @@
 #include "namespaces.h"
 #include "presence-cache.h"
 #include "presence.h"
+#include "util.h"
 
 #define MAX_STREAMS 99
 
@@ -2309,6 +2310,7 @@ _gabble_media_channel_typeflags_to_caps (TpChannelMediaCapabilities flags)
 static GabbleMediaStream *
 create_stream_from_content (GabbleMediaChannel *chan, GabbleJingleContent *c)
 {
+  GObject *chan_o = (GObject *) chan;
   GabbleMediaChannelPrivate *priv = GABBLE_MEDIA_CHANNEL_GET_PRIVATE (chan);
   GabbleMediaStream *stream;
   JingleMediaType type;
@@ -2356,18 +2358,16 @@ create_stream_from_content (GabbleMediaChannel *chan, GabbleJingleContent *c)
 
   g_ptr_array_add (priv->streams, stream);
 
-  g_signal_connect (stream, "close",
-                    (GCallback) stream_close_cb, chan);
-  g_signal_connect (stream, "error",
-                    (GCallback) stream_error_cb, chan);
-  g_signal_connect (stream, "unhold-failed",
-                    (GCallback) stream_unhold_failed, chan);
-  g_signal_connect (stream, "notify::connection-state",
-                    (GCallback) stream_state_changed_cb, chan);
-  g_signal_connect (stream, "notify::combined-direction",
-                    (GCallback) stream_direction_changed_cb, chan);
-  g_signal_connect (stream, "notify::local-hold",
-                    (GCallback) stream_hold_state_changed, chan);
+  gabble_signal_connect (stream, "close", (GCallback) stream_close_cb, chan_o);
+  gabble_signal_connect (stream, "error", (GCallback) stream_error_cb, chan_o);
+  gabble_signal_connect (stream, "unhold-failed", (GCallback)
+      stream_unhold_failed, chan_o);
+  gabble_signal_connect (stream, "notify::connection-state",
+      (GCallback) stream_state_changed_cb, chan_o);
+  gabble_signal_connect (stream, "notify::combined-direction",
+      (GCallback) stream_direction_changed_cb, chan_o);
+  gabble_signal_connect (stream, "notify::local-hold",
+      (GCallback) stream_hold_state_changed, chan_o);
 
   /* emit StreamAdded */
   DEBUG ("emitting StreamAdded with type '%s'",
-- 
1.5.6.5




More information about the telepathy-commits mailing list