diff options
Diffstat (limited to 'camel/camel-formatter.c')
-rw-r--r-- | camel/camel-formatter.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/camel/camel-formatter.c b/camel/camel-formatter.c index 3ab86b7435..b1caf9f6fc 100644 --- a/camel/camel-formatter.c +++ b/camel/camel-formatter.c @@ -778,11 +778,13 @@ handle_mime_part (CamelFormatter *formatter, { CamelMimePart* mime_part; CamelDataWrapper* message_contents; + gchar *whole_mime_type; g_assert (formatter); g_assert (wrapper); g_assert (CAMEL_IS_MIME_PART (wrapper)); + mime_part = CAMEL_MIME_PART (wrapper); message_contents = camel_medium_get_content_object (CAMEL_MEDIUM (mime_part)); @@ -797,10 +799,12 @@ handle_mime_part (CamelFormatter *formatter, // "<table width=95% border=1><tr><td>\n\n"); /* dispatch the correct handler function for the mime type */ + whole_mime_type = MIME_TYPE_WHOLE (mime_part); call_handler_function (formatter, message_contents, - MIME_TYPE_WHOLE (mime_part), + whole_mime_type, MIME_TYPE_MAIN (mime_part)); - + g_free (whole_mime_type); + /* close up the table we opened */ // camel_stream_write_string (formatter->priv->stream, // "\n\n</td></tr></table>\n\n"); @@ -855,6 +859,8 @@ print_camel_body_part (CamelMimeBodyPart* body_part, CamelFormatter* formatter, gboolean* text_printed_yet) { + gchar *whole_mime_type; + CamelDataWrapper* contents = camel_medium_get_content_object (CAMEL_MEDIUM (body_part)); gboolean is_text = @@ -862,9 +868,11 @@ print_camel_body_part (CamelMimeBodyPart* body_part, if (is_text && *text_printed_yet) return; - - call_handler_function (formatter, contents, MIME_TYPE_WHOLE (body_part), + whole_mime_type = MIME_TYPE_WHOLE (body_part); + call_handler_function (formatter, contents, whole_mime_type, MIME_TYPE_MAIN (body_part)); + g_free (whole_mime_type); + camel_stream_write_string (formatter->priv->stream, "\n\n"); /* use this when gtktmhl is fixed */ /* camel_stream_write_string (formatter->priv->stream, "\n<hr>\n"); */ @@ -940,7 +948,8 @@ handle_multipart_alternative (CamelFormatter *formatter, { CamelMultipart* multipart = CAMEL_MULTIPART (wrapper); CamelMimePart* mime_part; - + gchar *whole_mime_type; + debug ("handle_multipart_alternative: entered\n"); mime_part = @@ -952,9 +961,11 @@ handle_multipart_alternative (CamelFormatter *formatter, camel_medium_get_content_object ( CAMEL_MEDIUM (mime_part)); + whole_mime_type = MIME_TYPE_WHOLE (mime_part); call_handler_function (formatter, contents, - MIME_TYPE_WHOLE (mime_part), + whole_mime_type, MIME_TYPE_MAIN (mime_part)); + g_free (whole_mime_type); } debug ("handle_multipart_alternative: exiting\n"); |