diff options
author | Matthew Barnes <mbarnes@src.gnome.org> | 2008-12-11 02:30:29 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@src.gnome.org> | 2008-12-11 02:30:29 +0800 |
commit | d158af8cdfa6e4bf85c1e74769e8d61bc469494c (patch) | |
tree | ba55b970ae3a23e5ade4edbddc4eb8dcaf3033bd /composer | |
parent | dc0d0ee010319425b19d8d8d493f0bc489d5fd07 (diff) | |
download | gsoc2013-evolution-d158af8cdfa6e4bf85c1e74769e8d61bc469494c.tar.gz gsoc2013-evolution-d158af8cdfa6e4bf85c1e74769e8d61bc469494c.tar.zst gsoc2013-evolution-d158af8cdfa6e4bf85c1e74769e8d61bc469494c.zip |
Merge revisions 36811:36865 from trunk.
svn path=/branches/kill-bonobo/; revision=36867
Diffstat (limited to 'composer')
-rw-r--r-- | composer/ChangeLog | 7 | ||||
-rw-r--r-- | composer/e-msg-composer.c | 9 |
2 files changed, 14 insertions, 2 deletions
diff --git a/composer/ChangeLog b/composer/ChangeLog index b258637da4..7a08fc49ae 100644 --- a/composer/ChangeLog +++ b/composer/ChangeLog @@ -1,3 +1,10 @@ +2008-12-04 Matthew Barnes <mbarnes@redhat.com> + + ** Fixes bug #562886 + + * e-msg-composer (handle_mailto): + Don't double-decode attachment URIs. Also, parse & correctly. + 2008-11-07 Srinivasa Ragavan <sragavan@novell.com> ** Fix for bug #559701 diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c index 5d2c8b8c73..f6929710ef 100644 --- a/composer/e-msg-composer.c +++ b/composer/e-msg-composer.c @@ -3888,16 +3888,19 @@ handle_mailto (EMsgComposer *composer, const gchar *mailto) clen = strcspn (p, "&"); content = g_strndup (p, clen); - camel_url_decode (content); if (!g_ascii_strcasecmp (header, "to")) { + camel_url_decode (content); to = add_recipients (to, content); } else if (!g_ascii_strcasecmp (header, "cc")) { + camel_url_decode (content); cc = add_recipients (cc, content); } else if (!g_ascii_strcasecmp (header, "bcc")) { + camel_url_decode (content); bcc = add_recipients (bcc, content); } else if (!g_ascii_strcasecmp (header, "subject")) { g_free (subject); + camel_url_decode (content); if (g_utf8_validate (content, -1, NULL)) { subject = content; content = NULL; @@ -3911,6 +3914,7 @@ handle_mailto (EMsgComposer *composer, const gchar *mailto) } } else if (!g_ascii_strcasecmp (header, "body")) { g_free (body); + camel_url_decode (content); if (g_utf8_validate (content, -1, NULL)) { body = content; content = NULL; @@ -3944,6 +3948,7 @@ handle_mailto (EMsgComposer *composer, const gchar *mailto) /* ignore */ } else { /* add an arbitrary header? */ + camel_url_decode (content); e_msg_composer_add_header (composer, header, content); } @@ -3952,7 +3957,7 @@ handle_mailto (EMsgComposer *composer, const gchar *mailto) p += clen; if (*p == '&') { p++; - if (!strcmp (p, "amp;")) + if (!g_ascii_strncasecmp (p, "amp;", 4)) p += 4; } } |