diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2013-05-18 23:24:40 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2013-05-20 01:07:20 +0800 |
commit | f19058ea7a002e8ebf8351c55a86d3bb17a46cbc (patch) | |
tree | 0fdbb2c62ba31e92094ef7da2956f7caedd4840d /em-format/e-mail-formatter-print-headers.c | |
parent | 5ad0b6d8f7ee9244eb328b5951b98f8945e7b3cf (diff) | |
download | gsoc2013-evolution-f19058ea7a002e8ebf8351c55a86d3bb17a46cbc.tar gsoc2013-evolution-f19058ea7a002e8ebf8351c55a86d3bb17a46cbc.tar.gz gsoc2013-evolution-f19058ea7a002e8ebf8351c55a86d3bb17a46cbc.tar.bz2 gsoc2013-evolution-f19058ea7a002e8ebf8351c55a86d3bb17a46cbc.tar.lz gsoc2013-evolution-f19058ea7a002e8ebf8351c55a86d3bb17a46cbc.tar.xz gsoc2013-evolution-f19058ea7a002e8ebf8351c55a86d3bb17a46cbc.tar.zst gsoc2013-evolution-f19058ea7a002e8ebf8351c55a86d3bb17a46cbc.zip |
Add e_mail_part_ref_mime_part().
Diffstat (limited to 'em-format/e-mail-formatter-print-headers.c')
-rw-r--r-- | em-format/e-mail-formatter-print-headers.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/em-format/e-mail-formatter-print-headers.c b/em-format/e-mail-formatter-print-headers.c index 6eec667463..65515508a5 100644 --- a/em-format/e-mail-formatter-print-headers.c +++ b/em-format/e-mail-formatter-print-headers.c @@ -61,12 +61,15 @@ emfpe_headers_format (EMailFormatterExtension *extension, const gchar *buf; gint attachments_count; gchar *part_id_prefix; + CamelMimePart *mime_part; GQueue *headers_queue; GQueue queue = G_QUEUE_INIT; GList *head, *link; const gchar *part_id; - buf = camel_medium_get_header (CAMEL_MEDIUM (part->part), "subject"); + mime_part = e_mail_part_ref_mime_part (part); + + buf = camel_medium_get_header (CAMEL_MEDIUM (mime_part), "subject"); subject = camel_header_decode_string (buf, "UTF-8"); str = g_string_new (""); g_string_append_printf (str, "<h1>%s</h1>\n", subject); @@ -90,7 +93,7 @@ emfpe_headers_format (EMailFormatterExtension *extension, raw_header.value = header->value; e_mail_formatter_format_header ( formatter, str, - CAMEL_MEDIUM (part->part), &raw_header, + CAMEL_MEDIUM (mime_part), &raw_header, header->flags | E_MAIL_FORMATTER_HEADER_FLAG_NOLINKS, "UTF-8"); } else { @@ -106,7 +109,7 @@ emfpe_headers_format (EMailFormatterExtension *extension, if (raw_header.value && *raw_header.value) { e_mail_formatter_format_header ( formatter, str, - CAMEL_MEDIUM (part->part), &raw_header, + CAMEL_MEDIUM (mime_part), &raw_header, header->flags | E_MAIL_FORMATTER_HEADER_FLAG_NOLINKS, "UTF-8"); } @@ -169,7 +172,7 @@ emfpe_headers_format (EMailFormatterExtension *extension, raw_header.value = tmp->str; e_mail_formatter_format_header ( formatter, str, - CAMEL_MEDIUM (part->part), &raw_header, + CAMEL_MEDIUM (mime_part), &raw_header, E_MAIL_FORMATTER_HEADER_FLAG_BOLD | E_MAIL_FORMATTER_HEADER_FLAG_NOLINKS, "UTF-8"); } @@ -201,7 +204,7 @@ emfpe_headers_format (EMailFormatterExtension *extension, raw_header.value = g_strdup_printf ("%d", attachments_count); e_mail_formatter_format_header ( formatter, str, - CAMEL_MEDIUM (part->part), &raw_header, + CAMEL_MEDIUM (mime_part), &raw_header, E_MAIL_FORMATTER_HEADER_FLAG_BOLD | E_MAIL_FORMATTER_HEADER_FLAG_NOLINKS, "UTF-8"); g_free (raw_header.value); @@ -216,6 +219,8 @@ emfpe_headers_format (EMailFormatterExtension *extension, g_string_free (str, TRUE); g_free (part_id_prefix); + g_object_unref (mime_part); + return TRUE; } |