diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | gtk/gtkiconfactory.c | 3 | ||||
-rw-r--r-- | gtk/gtkicontheme.c | 15 |
3 files changed, 19 insertions, 6 deletions
@@ -1,3 +1,10 @@ +2007-05-25 Matthias Clasen <mclasen@redhat.com> + + * gtk/gtkiconfactory.c: Improve a warning + * gtk/gtkicontheme.c (gtk_icon_info_load_icon): Always + set the error when returning NULL. (#440982, Carlos Garcia + Campos) + 2007-05-25 Michael Natterer <mitch@imendio.com> Merge fix from maemo-gtk: diff --git a/gtk/gtkiconfactory.c b/gtk/gtkiconfactory.c index f80a5d58b4..d581d605b2 100644 --- a/gtk/gtkiconfactory.c +++ b/gtk/gtkiconfactory.c @@ -1467,7 +1467,8 @@ render_icon_name_pixbuf (GtkIconSource *icon_source, if (!tmp_pixbuf) { - g_warning ("Error loading theme icon for stock: %s", error->message); + g_warning ("Error loading theme icon '%s' for stock: %s", + icon_source->source.icon_name, error->message); g_error_free (error); return NULL; } diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 2aa1c59e5c..d6accc94fe 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -2905,12 +2905,17 @@ gtk_icon_info_load_icon (GtkIconInfo *icon_info, g_return_val_if_fail (icon_info != NULL, NULL); g_return_val_if_fail (error == NULL || *error == NULL, NULL); - icon_info_ensure_scale_and_pixbuf (icon_info, FALSE); - - if (icon_info->load_error) + if (!icon_info_ensure_scale_and_pixbuf (icon_info, FALSE)) { - g_propagate_error (error, icon_info->load_error); - return NULL; + if (icon_info->load_error) + g_propagate_error (error, icon_info->load_error); + else + g_set_error (error, + GTK_ICON_THEME_ERROR, + GTK_ICON_THEME_NOT_FOUND, + _("Failed to load icon")); + + return NULL; } return g_object_ref (icon_info->pixbuf); |