summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--gtk/gtkimage.c9
2 files changed, 13 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index adb5c3654f..51d324ff37 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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,