diff options
author | Not Zed <NotZed@Ximian.com> | 2004-01-09 10:06:03 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2004-01-09 10:06:03 +0800 |
commit | cee49f028644048a129fefd513a396a145bb0a90 (patch) | |
tree | cc274529619f7a81a1a3e857854f80c9a7d46653 /mail/em-format.c | |
parent | d26d8fe8ec5602bd5df2f66f6e07420cbbd5f441 (diff) | |
download | gsoc2013-evolution-cee49f028644048a129fefd513a396a145bb0a90.tar gsoc2013-evolution-cee49f028644048a129fefd513a396a145bb0a90.tar.gz gsoc2013-evolution-cee49f028644048a129fefd513a396a145bb0a90.tar.bz2 gsoc2013-evolution-cee49f028644048a129fefd513a396a145bb0a90.tar.lz gsoc2013-evolution-cee49f028644048a129fefd513a396a145bb0a90.tar.xz 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.c | 6 |
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); } /** |