# HG changeset patch # User Mike Ruprecht # Date 1233553109 0 # Node ID 1199abde956bd9567375f87eaeefcb7ad0f71124 # Parent 39c1b30b26e2477ebce80c9b5d0511904807b87f Set the purple_media_connected_cb timeout to a high priority and remove it when stream is freed. diff -r 39c1b30b26e2 -r 1199abde956b libpurple/media.c --- a/libpurple/media.c Mon Feb 02 04:01:34 2009 +0000 +++ b/libpurple/media.c Mon Feb 02 05:38:29 2009 +0000 @@ -240,6 +240,9 @@ if (stream == NULL) return; + /* Remove the connected_cb timeout */ + g_source_remove_by_user_data(stream); + g_free(stream->participant); if (stream->local_candidates) @@ -1685,7 +1688,8 @@ gst_pad_link(srcpad, sinkpad); gst_element_set_state(stream->sink, GST_STATE_PLAYING); - g_timeout_add(0, (GSourceFunc)purple_media_connected_cb, stream); + g_timeout_add_full(G_PRIORITY_HIGH, 0, + (GSourceFunc)purple_media_connected_cb, stream, NULL); } static gboolean