# HG changeset patch # User maiku@pidgin.im # Date 1256582730 0 # Node ID 18571ea6e44a03682a8b4a39c84f37e247aa47f8 # Parent cb843608e183eb28807f67b39a70ff0434b1a36f Store remote_candidates in PurpleMedia as a GList of PurpleMediaCandidate's. diff -r cb843608e183 -r 18571ea6e44a libpurple/media/media.c --- a/libpurple/media/media.c Mon Oct 26 18:32:27 2009 +0000 +++ b/libpurple/media/media.c Mon Oct 26 18:45:30 2009 +0000 @@ -325,7 +325,7 @@ if (stream->local_candidates) purple_media_candidate_list_free(stream->local_candidates); if (stream->remote_candidates) - fs_candidate_list_destroy(stream->remote_candidates); + purple_media_candidate_list_free(stream->remote_candidates); if (stream->active_local_candidates) fs_candidate_list_destroy(stream->active_local_candidates); @@ -1117,8 +1117,13 @@ if (stream->remote_candidates != NULL) { GError *err = NULL; + GList *candidates; + + candidates = purple_media_candidate_list_to_fs( + stream->remote_candidates); fs_stream_set_remote_candidates(stream->stream, - stream->remote_candidates, &err); + candidates, &err); + fs_candidate_list_destroy(candidates); if (err) { purple_debug_error("media", "Error adding remote" @@ -1680,11 +1685,14 @@ } stream->remote_candidates = g_list_concat(stream->remote_candidates, - purple_media_candidate_list_to_fs(remote_candidates)); + purple_media_candidate_list_copy(remote_candidates)); if (stream->accepted == TRUE) { + GList *candidates = purple_media_candidate_list_to_fs( + stream->remote_candidates); fs_stream_set_remote_candidates(stream->stream, - stream->remote_candidates, &err); + candidates, &err); + fs_candidate_list_destroy(candidates); if (err) { purple_debug_error("media", "Error adding remote"