diff --git a/garcon/garcon-menu-item.c b/garcon/garcon-menu-item.c index b1ed0398d51c4667abd9b068a6738f9498449ac5..5ee39ff41c8602056e4548846983595526bd37da 100644 --- a/garcon/garcon-menu-item.c +++ b/garcon/garcon-menu-item.c @@ -695,13 +695,19 @@ garcon_menu_item_lists_equal (GList *list1, static gchar * garcon_menu_item_url_exec (XfceRc *rc) { + GString *string; const gchar *url; gchar *url_exec = NULL; /* Support Type=Link items */ url = xfce_rc_read_entry_untranslated (rc, G_KEY_FILE_DESKTOP_KEY_URL, NULL); if (url != NULL) - url_exec = g_strdup_printf ("exo-open '%s'", url); + { + string = g_string_new (url); + g_string_replace (string, "%", "%%", 0); + url_exec = g_strdup_printf ("exo-open '%s'", string->str); + g_string_free (string, TRUE); + } return url_exec; }