aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/gui/widgets/eab-contact-formatter.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/addressbook/gui/widgets/eab-contact-formatter.c b/addressbook/gui/widgets/eab-contact-formatter.c
index 5b61bcde19..f4b24a21bc 100644
--- a/addressbook/gui/widgets/eab-contact-formatter.c
+++ b/addressbook/gui/widgets/eab-contact-formatter.c
@@ -397,11 +397,18 @@ render_title_block (EABContactFormatter *formatter,
photo_data);
} else if (photo && photo->type == E_CONTACT_PHOTO_TYPE_URI && photo->data.uri && *photo->data.uri) {
gboolean is_local = g_str_has_prefix (photo->data.uri, "file://");
+ const gchar *uri = photo->data.uri;
+ /* WebKit 2.2 doesn't re-escape URIs, thus do this only for versions before this */
+ #if !WEBKIT_CHECK_VERSION(2,2,0)
gchar *unescaped = g_uri_unescape_string (photo->data.uri, NULL);
+ uri = unescaped;
+ #endif
g_string_append_printf (
buffer, "<img border=\"1\" src=\"%s%s\">",
- is_local ? "evo-" : "", unescaped);
+ is_local ? "evo-" : "", uri);
+ #if !WEBKIT_CHECK_VERSION(2,2,0)
g_free (unescaped);
+ #endif
}
if (photo)
@@ -871,13 +878,20 @@ render_compact (EABContactFormatter *formatter,
if (photo->type == E_CONTACT_PHOTO_TYPE_URI &&
photo->data.uri && *photo->data.uri) {
gboolean is_local = g_str_has_prefix (photo->data.uri, "file://");
+ const gchar *uri = photo->data.uri;
+ /* WebKit 2.2 doesn't re-escape URIs, thus do this only for versions before this */
+ #if !WEBKIT_CHECK_VERSION(2,2,0)
gchar *unescaped = g_uri_unescape_string (photo->data.uri, NULL);
+ uri = unescaped;
+ #endif
g_string_append_printf (
buffer,
"<img width=\"%d\" height=\"%d\" src=\"%s%s\">",
calced_width, calced_height,
- is_local ? "evo-" : "", unescaped);
+ is_local ? "evo-" : "", uri);
+ #if !WEBKIT_CHECK_VERSION(2,2,0)
g_free (unescaped);
+ #endif
} else {
gchar *photo_data;