icontheme: use g_file_load_contents() for symbolic icons

When loading a symbolic icon, g_file_get_contents() is currently used
with the icon pathname, to load its SVG data. This won't work when the
icon is not a local file, for instance when a symbolic icon is loaded
from a GFileIcon with a GResource path.
Fortunately GtkIconInfo already holds a GFile, so we can just use
g_file_load_contents() to load the data instead.

https://bugzilla.gnome.org/show_bug.cgi?id=709056
This commit is contained in:
Cosimo Cecchi 2013-09-29 15:38:54 -07:00
parent 28a3638448
commit 3d602f5b0a

View File

@ -4200,7 +4200,7 @@ _gtk_icon_info_load_symbolic_internal (GtkIconInfo *icon_info,
css_error = gdk_color_to_css (&error_default_color);
}
if (!g_file_get_contents (icon_info->filename, &file_data, &file_len, NULL))
if (!g_file_load_contents (icon_info->icon_file, NULL, &file_data, &file_len, NULL, NULL))
return NULL;
if (!icon_info->symbolic_pixbuf_size)