diff options
author | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2011-03-22 13:03:27 +0000 |
---|---|---|
committer | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2011-03-22 15:03:12 +0000 |
commit | 07cc52c009c7c282b86cbacdda9ed0557d6d9520 (patch) | |
tree | 465640a328539a7f05f77cb0f5d352ce7725bafb | |
parent | 506f7679d370b1f95393e3d1b28ba0b20e9dd7d7 (diff) |
Correct the streams-removed callback
On stream removal we should emit streams-removed, not streams added.
Also g_list_find_customs looks up a GList link, not a data element...
-rw-r--r-- | telepathy-yell/call-content.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/telepathy-yell/call-content.c b/telepathy-yell/call-content.c index f1ab44b..fe40c30 100644 --- a/telepathy-yell/call-content.c +++ b/telepathy-yell/call-content.c @@ -147,25 +147,26 @@ on_streams_removed_cb (TpProxy *proxy, for (i = 0; i < streams->len; i++) { - TpyCallStream *stream; + GList *s; const gchar *object_path; object_path = g_ptr_array_index (streams, i); - stream = TPY_CALL_STREAM (g_list_find_custom (self->priv->streams, object_path, - find_stream_for_object_path)); + s = g_list_find_custom (self->priv->streams, + object_path, + find_stream_for_object_path); - if (stream == NULL) + if (s == NULL) { g_warning ("Could not find a CallStream for path %s", object_path); continue; } - self->priv->streams = g_list_remove (self->priv->streams, stream); - g_ptr_array_add (object_streams, stream); + self->priv->streams = g_list_remove_link (self->priv->streams, s); + g_ptr_array_add (object_streams, s->data); } - g_signal_emit (self, _signals[STREAMS_ADDED], 0, object_streams); + g_signal_emit (self, _signals[STREAMS_REMOVED], 0, object_streams); g_ptr_array_unref (object_streams); } |