aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-html-stream.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/em-html-stream.c')
-rw-r--r--mail/em-html-stream.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mail/em-html-stream.c b/mail/em-html-stream.c
index 656f736969..2644afcf3d 100644
--- a/mail/em-html-stream.c
+++ b/mail/em-html-stream.c
@@ -80,6 +80,8 @@ em_html_stream_init (CamelObject *object)
static void
emhs_cleanup(EMHTMLStream *emhs)
{
+ if (emhs->sync.cancel && emhs->html_stream)
+ gtk_html_stream_close (emhs->html_stream, GTK_HTML_STREAM_ERROR);
emhs->html_stream = NULL;
emhs->sync.cancel = TRUE;
g_signal_handler_disconnect(emhs->html, emhs->destroy_id);
@@ -147,6 +149,7 @@ static void
emhs_gtkhtml_destroy(struct _GtkHTML *html, EMHTMLStream *emhs)
{
d(printf("%p: emhs gtkhtml destroy\n", emhs));
+ emhs->sync.cancel = TRUE;
emhs_cleanup(emhs);
}