From ddb848bbfc956f79171ea141ce6dba6eea484aa7 Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Mon, 2 Jul 2012 14:08:01 +0200 Subject: theme-manager: don't leak info is 2 themes have the same name --- libempathy-gtk/empathy-theme-manager.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'libempathy-gtk') diff --git a/libempathy-gtk/empathy-theme-manager.c b/libempathy-gtk/empathy-theme-manager.c index 4c8176b88..47ea737ff 100644 --- a/libempathy-gtk/empathy-theme-manager.c +++ b/libempathy-gtk/empathy-theme-manager.c @@ -336,7 +336,8 @@ empathy_theme_manager_get_adium_themes (void) gint i = 0; const gchar *dir; - hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); + hash = g_hash_table_new_full (g_str_hash, g_str_equal, + g_free, (GDestroyNotify) g_hash_table_unref); /* Start from the more general locations (the system) to the more specific * ones ($HOME, EMPATHY_SRCDIR) so the more specific themes will override @@ -371,7 +372,8 @@ empathy_theme_manager_get_adium_themes (void) } /* Pass ownership of the info hash table to the list */ - result = g_list_copy (g_hash_table_get_values (hash)); + result = g_list_copy_deep (g_hash_table_get_values (hash), + (GCopyFunc) g_hash_table_ref, NULL); g_hash_table_unref (hash); -- cgit v1.2.3