diff options
author | Jürg Billeter <j@bitron.ch> | 2011-09-27 09:58:46 +0200 |
---|---|---|
committer | Martyn Russell <martyn@lanedo.com> | 2011-10-06 17:15:17 +0100 |
commit | 7bfd1b86ef8b4ffd5af66484a09eff9b322d1cb3 (patch) | |
tree | 860b9707e23e5f0d9ce1b8879cfaee52b41680dd | |
parent | 573439a5f0d1cf05f2a259a0134ca97997d91aac (diff) | |
download | tracker-7bfd1b86ef8b4ffd5af66484a09eff9b322d1cb3.tar.gz |
tracker-miner-applications: Fix theme icon URIs
-rw-r--r-- | src/miners/fs/tracker-miner-applications.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/miners/fs/tracker-miner-applications.c b/src/miners/fs/tracker-miner-applications.c index d74cf2052..b20d6a621 100644 --- a/src/miners/fs/tracker-miner-applications.c +++ b/src/miners/fs/tracker-miner-applications.c @@ -473,12 +473,15 @@ process_desktop_file (ProcessApplicationData *data, tracker_sparql_builder_object (sparql, "nfo:SoftwareCategory"); if (icon) { + gchar *escaped_icon; gchar *icon_uri; /* Sanitize icon */ g_strstrip (icon); - icon_uri = g_strdup_printf (THEME_ICON_URN_PREFIX "%s", icon); + escaped_icon = g_uri_escape_string (icon, G_URI_RESERVED_CHARS_ALLOWED_IN_PATH, FALSE); + + icon_uri = g_strdup_printf (THEME_ICON_URN_PREFIX "%s", escaped_icon); tracker_sparql_builder_subject_iri (sparql, icon_uri); tracker_sparql_builder_predicate (sparql, "a"); @@ -489,6 +492,7 @@ process_desktop_file (ProcessApplicationData *data, tracker_sparql_builder_object_iri (sparql, icon_uri); g_free (icon_uri); + g_free (escaped_icon); g_free (icon); } @@ -670,12 +674,15 @@ process_desktop_file (ProcessApplicationData *data, icon = g_key_file_get_string (key_file, GROUP_DESKTOP_ENTRY, "Icon", NULL); if (icon) { + gchar *escaped_icon; gchar *icon_uri; /* Sanitize icon */ g_strstrip (icon); - icon_uri = g_strdup_printf (THEME_ICON_URN_PREFIX "%s", icon); + escaped_icon = g_uri_escape_string (icon, G_URI_RESERVED_CHARS_ALLOWED_IN_PATH, FALSE); + + icon_uri = g_strdup_printf (THEME_ICON_URN_PREFIX "%s", escaped_icon); tracker_sparql_builder_subject_iri (sparql, icon_uri); tracker_sparql_builder_predicate (sparql, "a"); @@ -686,6 +693,7 @@ process_desktop_file (ProcessApplicationData *data, tracker_sparql_builder_object_iri (sparql, icon_uri); g_free (icon_uri); + g_free (escaped_icon); g_free (icon); } } |