aboutsummaryrefslogtreecommitdiffstats
path: root/em-format/e-mail-parser-multipart-mixed.c
diff options
context:
space:
mode:
Diffstat (limited to 'em-format/e-mail-parser-multipart-mixed.c')
-rw-r--r--em-format/e-mail-parser-multipart-mixed.c14
1 files changed, 12 insertions, 2 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)) {