Mercurial > pidgin
diff libpurple/media/backend-fs2.c @ 30439:1feb2baeac2d
Fix some media code leaks.
Fixes #12349.
committer: Elliott Sales de Andrade <qulogic@pidgin.im>
author | jakub.adam@ktknet.cz |
---|---|
date | Tue, 24 Aug 2010 04:45:25 +0000 |
parents | 351d07aefb09 |
children | 797c03de8fa9 |
line wrap: on
line diff
--- a/libpurple/media/backend-fs2.c Tue Aug 24 04:42:41 2010 +0000 +++ b/libpurple/media/backend-fs2.c Tue Aug 24 04:45:25 2010 +0000 @@ -208,11 +208,7 @@ } if (priv->participants) { - GList *participants = - g_hash_table_get_values(priv->participants); - for (; participants; participants = g_list_delete_link( - participants, participants)) - g_object_unref(participants->data); + g_hash_table_destroy(priv->participants); priv->participants = NULL; } @@ -1425,7 +1421,8 @@ if (!priv->sessions) { purple_debug_info("backend-fs2", "Creating hash table for sessions\n"); - priv->sessions = g_hash_table_new(g_str_hash, g_str_equal); + priv->sessions = g_hash_table_new_full(g_str_hash, g_str_equal, + g_free, NULL); } g_hash_table_insert(priv->sessions, g_strdup(session->id), session); @@ -1461,7 +1458,7 @@ purple_debug_info("backend-fs2", "Creating hash table for participants\n"); priv->participants = g_hash_table_new_full(g_str_hash, - g_str_equal, g_free, NULL); + g_str_equal, g_free, g_object_unref); } g_hash_table_insert(priv->participants, g_strdup(name), participant);