diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | gtk/gtkimage.c | 9 |
2 files changed, 13 insertions, 3 deletions
@@ -1,3 +1,10 @@ +2008-09-17 Christian Persch <chpe@gnome.org> + + Bug 552667 – gtkimage containing gicon leaks memory + + * gtk/gtkimage.c: (ensure_pixbuf_for_gicon): Fix critical warnings + when looking up the icon fails. Plug a mem leak. + 2008-09-17 Matthias Clasen <mclasen@redhat.com> Bug 329593 – Entering characters on a line very cpu intensive and diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c index 9f4b111362..15f3bb27d9 100644 --- a/gtk/gtkimage.c +++ b/gtk/gtkimage.c @@ -1611,7 +1611,6 @@ ensure_pixbuf_for_gicon (GtkImage *image) gint width, height; GtkIconInfo *info; GtkIconLookupFlags flags; - GError *error = NULL; g_return_if_fail (image->storage_type == GTK_IMAGE_GICON); @@ -1643,10 +1642,14 @@ ensure_pixbuf_for_gicon (GtkImage *image) info = gtk_icon_theme_lookup_by_gicon (icon_theme, image->data.gicon.icon, MIN (width, height), flags); - image->data.gicon.pixbuf = gtk_icon_info_load_icon (info, &error); + if (info) + { + image->data.gicon.pixbuf = gtk_icon_info_load_icon (info, NULL); + gtk_icon_info_free (info); + } + if (image->data.gicon.pixbuf == NULL) { - g_error_free (error); image->data.gicon.pixbuf = gtk_widget_render_icon (GTK_WIDGET (image), GTK_STOCK_MISSING_IMAGE, |