aboutsummaryrefslogtreecommitdiffstats
path: root/em-format/e-mail-formatter-source.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2013-05-18 23:24:40 +0800
committerMatthew Barnes <mbarnes@redhat.com>2013-05-20 01:07:20 +0800
commitf19058ea7a002e8ebf8351c55a86d3bb17a46cbc (patch)
tree0fdbb2c62ba31e92094ef7da2956f7caedd4840d /em-format/e-mail-formatter-source.c
parent5ad0b6d8f7ee9244eb328b5951b98f8945e7b3cf (diff)
downloadgsoc2013-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-source.c')
-rw-r--r--em-format/e-mail-formatter-source.c14
1 files changed, 9 insertions, 5 deletions
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,
"<div class=\"part-container\" "
@@ -101,8 +103,8 @@ emfe_source_format (EMailFormatterExtension *extension,
stream, "<code class=\"pre\">", 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, "</div>", cancellable, NULL);
} else {
camel_stream_write_string (stream, "</div></div>", cancellable, NULL);
}
+ g_object_unref (mime_part);
+
return TRUE;
}