diff options
author | Руслан Ижбулатов <lrn1986@gmail.com> | 2014-07-15 16:42:39 +0000 |
---|---|---|
committer | Руслан Ижбулатов <lrn1986@gmail.com> | 2014-07-15 19:02:41 +0000 |
commit | e3d725ed8c72db5e1b2edb1d6bc4ffa8945c4a22 (patch) | |
tree | 3855b0a8eafb199aafdebddecf3a67124cfa5084 /gtk/gtkicontheme.c | |
parent | 2e4018c3867f089f305d3b4f19d9f60486cb9ebb (diff) | |
download | gtk+-e3d725ed8c72db5e1b2edb1d6bc4ffa8945c4a22.tar.gz |
GktIconTheme: Be even more careful with paths
This is a followup for 5a252f13a863c00ccd9901afa110e85836a6af4c
https://bugzilla.gnome.org/show_bug.cgi?id=733189
Diffstat (limited to 'gtk/gtkicontheme.c')
-rw-r--r-- | gtk/gtkicontheme.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 42cb138087..465970d559 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -3025,18 +3025,21 @@ theme_lookup_icon (IconTheme *theme, if (min_dir->dir) { - gchar *uri; - file = g_strconcat (icon_name, string_from_suffix (suffix), NULL); icon_info->filename = g_build_filename (min_dir->dir, file, NULL); + if (min_dir->is_resource) - uri = g_strconcat ("resource://", icon_info->filename, NULL); + { + gchar *uri; + uri = g_strconcat ("resource://", icon_info->filename, NULL); + icon_info->icon_file = g_file_new_for_uri (uri); + g_free (uri); + } else - uri = g_strconcat ("file://", icon_info->filename, NULL); - icon_info->icon_file = g_file_new_for_uri (uri); + icon_info->icon_file = g_file_new_for_path (icon_info->filename); + icon_info->is_svg = suffix == ICON_SUFFIX_SVG; icon_info->is_resource = min_dir->is_resource; - g_free (uri); g_free (file); } else |