summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2011-09-27 09:58:46 +0200
committerMartyn Russell <martyn@lanedo.com>2011-10-06 17:15:17 +0100
commit7bfd1b86ef8b4ffd5af66484a09eff9b322d1cb3 (patch)
tree860b9707e23e5f0d9ce1b8879cfaee52b41680dd
parent573439a5f0d1cf05f2a259a0134ca97997d91aac (diff)
downloadtracker-7bfd1b86ef8b4ffd5af66484a09eff9b322d1cb3.tar.gz
tracker-miner-applications: Fix theme icon URIs
-rw-r--r--src/miners/fs/tracker-miner-applications.c12
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);
}
}