# HG changeset patch # User maiku@pidgin.im # Date 1256753819 0 # Node ID 80bdae3ea9577404c8cf9811eb18d9ef4d09f222 # Parent 78ac6e4d3de9929537928ddbc46ab3c5e76c1c9e Free participants properly in purple_media_end. diff -r 78ac6e4d3de9 -r 80bdae3ea957 libpurple/media/media.c --- a/libpurple/media/media.c Wed Oct 28 18:07:27 2009 +0000 +++ b/libpurple/media/media.c Wed Oct 28 18:16:59 2009 +0000 @@ -707,11 +707,19 @@ for (; participants; participants = g_list_delete_link(participants, participants)) { gchar *participant = participants->data; - + GList *link = g_list_find_custom(media->priv->participants, + participant, (GCompareFunc)strcmp); + g_signal_emit(media, purple_media_signals[STATE_CHANGED], 0, PURPLE_MEDIA_STATE_END, NULL, participant); + if (link != NULL) { + g_free(link->data); + media->priv->participants = g_list_delete_link( + media->priv->participants, link); + } + g_free(participant); }