From f19058ea7a002e8ebf8351c55a86d3bb17a46cbc Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sat, 18 May 2013 11:24:40 -0400 Subject: Add e_mail_part_ref_mime_part(). --- em-format/e-mail-formatter-source.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'em-format/e-mail-formatter-source.c') diff --git a/em-format/e-mail-formatter-source.c b/em-format/e-mail-formatter-source.c index faa4c76521..944f9a4c14 100644 --- a/em-format/e-mail-formatter-source.c +++ b/em-format/e-mail-formatter-source.c @@ -53,7 +53,9 @@ emfe_source_format (EMailFormatterExtension *extension, GString *buffer; CamelStream *filtered_stream; CamelMimeFilter *filter; - CamelDataWrapper *dw = (CamelDataWrapper *) part->part; + CamelMimePart *mime_part; + + mime_part = e_mail_part_ref_mime_part (part); filtered_stream = camel_stream_filter_new (stream); @@ -67,7 +69,7 @@ emfe_source_format (EMailFormatterExtension *extension, buffer = g_string_new (""); - if (CAMEL_IS_MIME_MESSAGE (part->part)) { + if (CAMEL_IS_MIME_MESSAGE (mime_part)) { g_string_append_printf ( buffer, "
", cancellable, NULL); camel_data_wrapper_write_to_stream_sync ( - dw, filtered_stream, - cancellable, NULL); + CAMEL_DATA_WRAPPER (mime_part), + filtered_stream, cancellable, NULL); camel_stream_flush (filtered_stream, cancellable, NULL); g_object_unref (filtered_stream); @@ -111,12 +113,14 @@ emfe_source_format (EMailFormatterExtension *extension, g_string_free (buffer, TRUE); - if (CAMEL_IS_MIME_MESSAGE (part->part)) { + if (CAMEL_IS_MIME_MESSAGE (mime_part)) { camel_stream_write_string (stream, "
", cancellable, NULL); } else { camel_stream_write_string (stream, "", cancellable, NULL); } + g_object_unref (mime_part); + return TRUE; } -- cgit