From 7878c06f05c0aa1a66b380fd4f31ddde227c7db1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Vr=C3=A1til?= Date: Thu, 26 Jul 2012 21:23:29 +0200 Subject: Bug #680634 - Missing image attachment --- em-format/e-mail-parser-multipart-mixed.c | 14 ++++++++++++-- modules/text-highlight/e-mail-formatter-text-highlight.c | 15 ++++++++------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/em-format/e-mail-parser-multipart-mixed.c b/em-format/e-mail-parser-multipart-mixed.c index 990a8f2a08..33663d8e9e 100644 --- a/em-format/e-mail-parser-multipart-mixed.c +++ b/em-format/e-mail-parser-multipart-mixed.c @@ -97,9 +97,19 @@ empe_mp_mixed_parse (EMailParserExtension *extension, new_parts = e_mail_parser_parse_part ( parser, subpart, part_id, cancellable); - /* Force messages to be expandable */ ct = camel_mime_part_get_content_type (subpart); - if (!new_parts || + + /* Display parts with CID as attachments */ + if (new_parts && new_parts->data && + (E_MAIL_PART (new_parts->data)->cid != NULL)) { + + parts = g_slist_concat (parts, + e_mail_parser_wrap_as_attachment ( + parser, subpart, new_parts, + part_id, cancellable)); + + /* Force messages to be expandable */ + } else if (!new_parts || (camel_content_type_is (ct, "message", "rfc822") && new_parts && new_parts->data && !E_MAIL_PART (new_parts->data)->is_attachment)) { diff --git a/modules/text-highlight/e-mail-formatter-text-highlight.c b/modules/text-highlight/e-mail-formatter-text-highlight.c index e216245500..7dfeac1c60 100644 --- a/modules/text-highlight/e-mail-formatter-text-highlight.c +++ b/modules/text-highlight/e-mail-formatter-text-highlight.c @@ -293,19 +293,20 @@ emfe_text_highlight_format (EMailFormatterExtension *extension, g_free (syntax); str = g_strdup_printf ( - "
" - "
\n" + "
" "" - "
", + " id=\"%s\" name=\"%s\" " + " frameborder=\"0\" src=\"%s\" " + " style=\"border: 1px solid #%06x; background-color: #%06x;\">" + "" + "
", + part->id, part->id, uri, e_color_to_value ((GdkColor *) e_mail_formatter_get_color ( formatter, E_MAIL_FORMATTER_COLOR_FRAME)), e_color_to_value ((GdkColor *) e_mail_formatter_get_color ( - formatter, E_MAIL_FORMATTER_COLOR_CONTENT)), - part->id, uri); + formatter, E_MAIL_FORMATTER_COLOR_CONTENT))); camel_stream_write_string (stream, str, cancellable, NULL); -- cgit v1.2.3