From 2992ba8de93a8d57c48fbf77549ddcab6d49bccd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Vr=C3=A1til?= Date: Tue, 26 Jun 2012 15:12:23 +0200 Subject: [prefer-plain] Fix displaying suppressed HTML parts Fix regression from commit 99a875ed which has broken displaying of suppressed HTML parts as attachments when the HTML part is embedded in a multipart/* container. --- modules/prefer-plain/e-mail-parser-prefer-plain.c | 41 ++++++++++++----------- 1 file changed, 21 insertions(+), 20 deletions(-) (limited to 'modules/prefer-plain') diff --git a/modules/prefer-plain/e-mail-parser-prefer-plain.c b/modules/prefer-plain/e-mail-parser-prefer-plain.c index a6f0f4c6b6..6780172224 100644 --- a/modules/prefer-plain/e-mail-parser-prefer-plain.c +++ b/modules/prefer-plain/e-mail-parser-prefer-plain.c @@ -280,28 +280,29 @@ empe_prefer_plain_parse (EMailParserExtension *extension, sparts = e_mail_parser_parse_part ( parser, sp, part_id, cancellable); - if (emp_pp->mode != PREFER_HTML) { - hide_parts (sparts); - } else { - GSList *iter; - gboolean has_html = FALSE; - - /* Check whether the multipart contains a - * text/html part and hide the whole multipart if - * it does not. Otherwise assume that it's what - * we wan't to display */ - for (iter = sparts; iter; iter = g_slist_next (iter)) { - EMailPart *p = iter->data; - if (!p) - continue; - - if (strstr (p->id, ".text_html") != NULL) { - has_html = TRUE; - break; - } + GSList *iter; + gboolean has_html = FALSE; + + /* Check whether the multipart contains a text/html part */ + for (iter = sparts; iter; iter = g_slist_next (iter)) { + EMailPart *p = iter->data; + if (!p) + continue; + + if (strstr (p->id, ".text_html") != NULL) { + has_html = TRUE; + break; } - if (!has_html) + } + + if (has_html && (emp_pp->mode != PREFER_HTML)) { + if (emp_pp->show_suppressed) { + sparts = e_mail_parser_wrap_as_attachment ( + parser, sp, sparts, part_id, + cancellable); + } else { hide_parts (sparts); + } } parts = g_slist_concat (parts, sparts); -- cgit v1.2.3