aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-format-html.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2005-08-26 09:52:55 +0800
committerMichael Zucci <zucchi@src.gnome.org>2005-08-26 09:52:55 +0800
commit9185fb32b379bb767de52835a454549e973efa99 (patch)
tree03cca11bef21397f11b78b8800910cf452af69c8 /mail/em-format-html.c
parent9bed0d6fee7116e3f2875ecd16fe0f980a2c588b (diff)
downloadgsoc2013-evolution-9185fb32b379bb767de52835a454549e973efa99.tar.gz
gsoc2013-evolution-9185fb32b379bb767de52835a454549e973efa99.tar.zst
gsoc2013-evolution-9185fb32b379bb767de52835a454549e973efa99.zip
** See bug #314440.
2005-08-25 Not Zed <NotZed@Ximian.com> ** See bug #314440. * em-format-html.c (efh_url_requested): check the content object's mime type, not the container, when seeing if the data should be written. (efh_write_text_html): add some debug. * em-format-html-display.c (efhd_html_button_press_event): fix debug. svn path=/trunk/; revision=30253
Diffstat (limited to 'mail/em-format-html.c')
-rw-r--r--mail/em-format-html.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/mail/em-format-html.c b/mail/em-format-html.c
index 7f06969297..f0a91f92c4 100644
--- a/mail/em-format-html.c
+++ b/mail/em-format-html.c
@@ -529,7 +529,8 @@ efh_url_requested(GtkHTML *html, const char *url, GtkHTMLStream *handle, EMForma
puri = em_format_find_visible_puri((EMFormat *)efh, url);
if (puri) {
- CamelContentType *ct = ((CamelDataWrapper *)puri->part)->mime_type;
+ CamelDataWrapper *dw = camel_medium_get_content_object((CamelMedium *)puri->part);
+ CamelContentType *ct = dw?dw->mime_type:NULL;
/* GtkHTML only handles text and images.
application/octet-stream parts are the only ones
@@ -546,6 +547,7 @@ efh_url_requested(GtkHTML *html, const char *url, GtkHTMLStream *handle, EMForma
d(printf(" adding puri job\n"));
job = em_format_html_job_new(efh, emfh_getpuri, puri);
} else {
+ d(printf(" part is unknown type '%s', not using\n", ct?camel_content_type_format(ct):"<unset>"));
gtk_html_stream_close(handle, GTK_HTML_STREAM_ERROR);
}
} else if (g_ascii_strncasecmp(url, "http:", 5) == 0 || g_ascii_strncasecmp(url, "https:", 6) == 0) {
@@ -793,6 +795,19 @@ efh_text_enriched(EMFormatHTML *efh, CamelStream *stream, CamelMimePart *part, E
static void
efh_write_text_html(EMFormat *emf, CamelStream *stream, EMFormatPURI *puri)
{
+#if d(!)0
+ CamelStream *out;
+ int fd;
+ CamelDataWrapper *dw;
+
+ fd = dup(STDOUT_FILENO);
+ out = camel_stream_fs_new_with_fd(fd);
+ printf("writing text content to frame '%s'\n", puri->cid);
+ dw = camel_medium_get_content_object(puri->part);
+ if (dw)
+ camel_data_wrapper_write_to_stream(dw, out);
+ camel_object_unref(out);
+#endif
em_format_format_text(emf, stream, camel_medium_get_content_object((CamelMedium *)puri->part));
}