diff options
author | Milan Crha <mcrha@redhat.com> | 2011-03-04 21:01:03 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@gnome-db.org> | 2011-06-30 00:41:41 +0800 |
commit | 10dd02bce0af2248f03563c7d5d2dcffec3e6145 (patch) | |
tree | d605b14e89c44a4f61f60599249d80e55a177b17 /plugins | |
parent | 1c5f04dc86f873524ebe2233bd7a911faeee90d3 (diff) | |
download | gsoc2013-evolution-10dd02bce0af2248f03563c7d5d2dcffec3e6145.tar gsoc2013-evolution-10dd02bce0af2248f03563c7d5d2dcffec3e6145.tar.gz gsoc2013-evolution-10dd02bce0af2248f03563c7d5d2dcffec3e6145.tar.bz2 gsoc2013-evolution-10dd02bce0af2248f03563c7d5d2dcffec3e6145.tar.lz gsoc2013-evolution-10dd02bce0af2248f03563c7d5d2dcffec3e6145.tar.xz gsoc2013-evolution-10dd02bce0af2248f03563c7d5d2dcffec3e6145.tar.zst gsoc2013-evolution-10dd02bce0af2248f03563c7d5d2dcffec3e6145.zip |
Bug #643693 - Crash opening attached text/html mail
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/prefer-plain/prefer-plain.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/plugins/prefer-plain/prefer-plain.c b/plugins/prefer-plain/prefer-plain.c index 21c5a6b625..50b0d2852a 100644 --- a/plugins/prefer-plain/prefer-plain.c +++ b/plugins/prefer-plain/prefer-plain.c @@ -70,9 +70,25 @@ make_part_attachment (EMFormat *format, CamelStream *stream, CamelMimePart *part em_format_part_as ( format, stream, part, "application/octet-stream", NULL); - } else + } else if (i == -1 && CAMEL_IS_MIME_MESSAGE (part)) { + /* message was asked to be formatted as text/html; + might be for cases where message itself is a text/html part */ + CamelMimePart *new_part; + CamelDataWrapper *content; + + content = camel_medium_get_content (CAMEL_MEDIUM (part)); + g_return_if_fail (content != NULL); + + new_part = camel_mime_part_new (); + camel_medium_set_content (CAMEL_MEDIUM (new_part), content); + + em_format_part (format, stream, new_part, NULL); + + g_object_unref (new_part); + } else { /* FIXME Not passing a GCancellable here. */ em_format_part (format, stream, part, NULL); + } g_string_truncate (format->part_id, partidlen); } |