summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>2011-03-22 13:03:27 +0000
committerSjoerd Simons <sjoerd.simons@collabora.co.uk>2011-03-22 15:03:12 +0000
commit07cc52c009c7c282b86cbacdda9ed0557d6d9520 (patch)
tree465640a328539a7f05f77cb0f5d352ce7725bafb
parent506f7679d370b1f95393e3d1b28ba0b20e9dd7d7 (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.c15
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);
}