aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-format.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2004-01-09 10:06:03 +0800
committerMichael Zucci <zucchi@src.gnome.org>2004-01-09 10:06:03 +0800
commitcee49f028644048a129fefd513a396a145bb0a90 (patch)
treecc274529619f7a81a1a3e857854f80c9a7d46653 /mail/em-format.c
parentd26d8fe8ec5602bd5df2f66f6e07420cbbd5f441 (diff)
downloadgsoc2013-evolution-cee49f028644048a129fefd513a396a145bb0a90.tar.gz
gsoc2013-evolution-cee49f028644048a129fefd513a396a145bb0a90.tar.zst
gsoc2013-evolution-cee49f028644048a129fefd513a396a145bb0a90.zip
keep the windows charset filter around until we're done since if we set it
2004-01-09 Not Zed <NotZed@Ximian.com> * em-format.c (em_format_format_text): keep the windows charset filter around until we're done since if we set it up we reference its memory. Causes warnings and breaks message display. ** See bug #52637. * em-inline-filter.c (em_inline_filter_new): added a content-type paramter for the base content type. (em_inline_filter_finalize): free base content type. (emif_types[]): Added 'plain' parameter, indicates type needs plain parameters set on content type. (emif_add_part): inherit the full base type if it is set, for plain parts. * em-format-html.c (efh_text_plain): pass the part's content-type to the inline filter. svn path=/trunk/; revision=24121
Diffstat (limited to 'mail/em-format.c')
-rw-r--r--mail/em-format.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/mail/em-format.c b/mail/em-format.c
index 6d16e48df0..fef764f6ba 100644
--- a/mail/em-format.c
+++ b/mail/em-format.c
@@ -829,13 +829,13 @@ em_format_format_text(EMFormat *emf, CamelStream *stream, CamelDataWrapper *dw)
CamelStreamFilter *filter_stream;
CamelMimeFilterCharset *filter;
const char *charset = NULL;
+ CamelMimeFilterWindows *windows = NULL;
if (emf->charset) {
charset = emf->charset;
} else if (dw->mime_type
&& (charset = camel_content_type_param (dw->mime_type, "charset"))
&& g_ascii_strncasecmp(charset, "iso-8859-", 9) == 0) {
- CamelMimeFilterWindows *windows;
CamelStream *null;
/* Since a few Windows mailers like to claim they sent
@@ -855,7 +855,6 @@ em_format_format_text(EMFormat *emf, CamelStream *stream, CamelDataWrapper *dw)
camel_object_unref(filter_stream);
charset = camel_mime_filter_windows_real_charset (windows);
- camel_object_unref(windows);
} else if (charset == NULL) {
charset = emf->default_charset;
}
@@ -870,6 +869,9 @@ em_format_format_text(EMFormat *emf, CamelStream *stream, CamelDataWrapper *dw)
camel_data_wrapper_decode_to_stream(dw, (CamelStream *)filter_stream);
camel_stream_flush((CamelStream *)filter_stream);
camel_object_unref(filter_stream);
+
+ if (windows)
+ camel_object_unref(windows);
}
/**