From 36d9b4794e8e811b8f854d97dcc3f2dd946a7bf8 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Fri, 7 Mar 2003 18:43:38 +0000 Subject: If the part url is a text part, use 2003-03-07 Jeffrey Stedfast * mail-display.c (on_url_requested): If the part url is a text part, use mail_format_data_wrapper_write_to_stream(). This should fix bug #39204. * mail-format.c (mail_format_data_wrapper_write_to_stream): Make public. svn path=/trunk/; revision=20219 --- mail/mail-display.c | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) (limited to 'mail/mail-display.c') diff --git a/mail/mail-display.c b/mail/mail-display.c index 0e18044f21..83387bde92 100644 --- a/mail/mail-display.c +++ b/mail/mail-display.c @@ -1026,8 +1026,7 @@ do_attachment_header (GtkHTML *html, GtkHTMLEmbedded *eb, /* Drag & Drop */ drag_types[DND_TARGET_TYPE_PART_MIME_TYPE].target = header_content_type_simple (part->content_type); - g_ascii_strdown (drag_types[DND_TARGET_TYPE_PART_MIME_TYPE].target, - strlen (drag_types[DND_TARGET_TYPE_PART_MIME_TYPE].target)); + camel_strdown (drag_types[DND_TARGET_TYPE_PART_MIME_TYPE].target); gtk_drag_source_set (button, GDK_BUTTON1_MASK, drag_types, num_drag_types, @@ -1231,34 +1230,30 @@ on_url_requested (GtkHTML *html, const char *url, GtkHTMLStream *handle, medium = g_hash_table_lookup (urls, url); if (medium) { CamelContentType *content_type; - CamelDataWrapper *data; + CamelDataWrapper *wrapper; + CamelStream *html_stream; g_return_if_fail (CAMEL_IS_MEDIUM (medium)); if (md->related) g_hash_table_remove (md->related, medium); - data = camel_medium_get_content_object (medium); - if (!mail_content_loaded (data, md, FALSE, url, html, handle)) + wrapper = camel_medium_get_content_object (medium); + if (!mail_content_loaded (wrapper, md, FALSE, url, html, handle)) return; - content_type = camel_data_wrapper_get_mime_type_field (data); + content_type = camel_data_wrapper_get_mime_type_field (wrapper); + + html_stream = mail_display_stream_new (html, handle); if (header_content_type_is (content_type, "text", "*")) { - ba = mail_format_get_data_wrapper_text (data, md); - if (ba) { - gtk_html_write (html, handle, ba->data, ba->len); - - g_byte_array_free (ba, TRUE); - } + mail_format_data_wrapper_write_to_stream (wrapper, md, html_stream); } else { - CamelStream *html_stream; - - html_stream = mail_display_stream_new (html, handle); - camel_data_wrapper_write_to_stream (data, html_stream); - camel_object_unref (html_stream); + camel_data_wrapper_write_to_stream (wrapper, html_stream); } + camel_object_unref (html_stream); + gtk_html_end (html, handle, GTK_HTML_STREAM_OK); return; } -- cgit v1.2.3