[evolution/gnome-3-34] I#645 - Prefer-Plain: Hide vendor-specific subparts of multipart/alternative
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution/gnome-3-34] I#645 - Prefer-Plain: Hide vendor-specific subparts of multipart/alternative
- Date: Mon, 30 Sep 2019 13:57:35 +0000 (UTC)
commit 8655dc96e4c0c65609e4a452e5fbad998d7cc2b4
Author: Milan Crha <mcrha redhat com>
Date: Mon Sep 30 15:56:26 2019 +0200
I#645 - Prefer-Plain: Hide vendor-specific subparts of multipart/alternative
Closes https://gitlab.gnome.org/GNOME/evolution/issues/645
src/modules/prefer-plain/e-mail-parser-prefer-plain.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
---
diff --git a/src/modules/prefer-plain/e-mail-parser-prefer-plain.c
b/src/modules/prefer-plain/e-mail-parser-prefer-plain.c
index bce556235d..af84ef9af6 100644
--- a/src/modules/prefer-plain/e-mail-parser-prefer-plain.c
+++ b/src/modules/prefer-plain/e-mail-parser-prefer-plain.c
@@ -213,6 +213,7 @@ empe_prefer_plain_parse (EMailParserExtension *extension,
gboolean prefer_html;
GQueue plain_text_parts = G_QUEUE_INIT;
GQueue work_queue = G_QUEUE_INIT;
+ GQueue attachments_queue = G_QUEUE_INIT;
emp_pp = (EMailParserPreferPlain *) extension;
prefer_html = (emp_pp->mode == PREFER_HTML);
@@ -352,17 +353,13 @@ empe_prefer_plain_parse (EMailParserExtension *extension,
has_html |= multipart_has_html;
- /* Parse everything else as an attachment */
- } else {
- GQueue inner_queue = G_QUEUE_INIT;
-
+ /* Parse other than 'X' (those are custom types) as an attachment */
+ } else if (ct && ct->subtype && ct->subtype[0] && ct->subtype[0] != 'x' && ct->subtype[0] !=
'X') {
e_mail_parser_parse_part (
parser, sp, part_id,
- cancellable, &inner_queue);
+ cancellable, &attachments_queue);
e_mail_parser_wrap_as_attachment (
- parser, sp, part_id, &inner_queue);
-
- e_queue_transfer (&inner_queue, &work_queue);
+ parser, sp, part_id, &attachments_queue);
}
}
@@ -391,6 +388,7 @@ empe_prefer_plain_parse (EMailParserExtension *extension,
/* plain_text parts should be always first */
e_queue_transfer (&plain_text_parts, out_mail_parts);
e_queue_transfer (&work_queue, out_mail_parts);
+ e_queue_transfer (&attachments_queue, out_mail_parts);
g_string_truncate (part_id, partidlen);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]