aboutsummaryrefslogtreecommitdiffstats
path: root/ui/gtk/gui_utils.c
diff options
context:
space:
mode:
authorJakub Zawadzki <darkjames-ws@darkjames.pl>2012-07-26 17:23:35 +0000
committerJakub Zawadzki <darkjames-ws@darkjames.pl>2012-07-26 17:23:35 +0000
commit80721f54980b3b769f46b1fb5836876b28d25417 (patch)
treef785e0e7d10d7d22db0702f1f18bc9a803137a10 /ui/gtk/gui_utils.c
parent8f308fe1b180b41969539408e6642b6f99d28997 (diff)
Fix memleak in window_icon_realize_cb()
gtk_window_set_icon_list() duplicates list so after setting we need to free generated one. svn path=/trunk/; revision=44052
Diffstat (limited to 'ui/gtk/gui_utils.c')
-rw-r--r--ui/gtk/gui_utils.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ui/gtk/gui_utils.c b/ui/gtk/gui_utils.c
index 8639f2a0c2..56a36eec64 100644
--- a/ui/gtk/gui_utils.c
+++ b/ui/gtk/gui_utils.c
@@ -122,7 +122,6 @@ window_icon_realize_cb (GtkWidget *win, gpointer data _U_)
GList *ws_icon_list=NULL;
GdkPixbuf *icon;
-
icon = gdk_pixbuf_new_from_xpm_data ((const char **) wsicon16_xpm);
ws_icon_list = g_list_append (ws_icon_list, icon);
icon = gdk_pixbuf_new_from_xpm_data ((const char **) wsicon32_xpm);
@@ -131,7 +130,12 @@ window_icon_realize_cb (GtkWidget *win, gpointer data _U_)
ws_icon_list = g_list_append (ws_icon_list, icon);
icon = gdk_pixbuf_new_from_xpm_data ((const char **) wsicon64_xpm);
ws_icon_list = g_list_append (ws_icon_list, icon);
+
gtk_window_set_icon_list(GTK_WINDOW(win), ws_icon_list);
+
+ g_list_foreach(ws_icon_list, (GFunc) g_object_unref, NULL);
+ g_list_free(ws_icon_list);
+
/* set icon by name, this allows us to use even SVG icon if it is present */
gtk_window_set_icon_name(GTK_WINDOW(win), "wireshark");
#endif