X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fwidgets%2Fmodest-tny-stream-gtkhtml.c;h=f17200fa77e0af1e937b45b5b420f7e24c9a7cf2;hp=3135889aac912e3dcfd145696f177c71613ea109;hb=05f3f5ede295c4dbe92d291dd719b38721619e7d;hpb=128f20adaf846080f3bc9beca820d415bb0dcb1e diff --git a/src/widgets/modest-tny-stream-gtkhtml.c b/src/widgets/modest-tny-stream-gtkhtml.c index 3135889..f17200f 100644 --- a/src/widgets/modest-tny-stream-gtkhtml.c +++ b/src/widgets/modest-tny-stream-gtkhtml.c @@ -211,7 +211,13 @@ gtkhtml_write (TnyStream *self, const char *buffer, size_t n) n = priv->max_size - priv->current_size; } + if (!g_main_context_is_owner (NULL)) + gdk_threads_enter (); + gtk_html_stream_write (priv->stream, buffer, n); + + if (!g_main_context_is_owner (NULL)) + gdk_threads_leave (); priv->current_size += n; return n; /* hmmm */ @@ -233,7 +239,14 @@ gtkhtml_close (TnyStream *self) priv = MODEST_TNY_STREAM_GTKHTML_GET_PRIVATE(self); if (priv->html && GTK_WIDGET_VISIBLE (priv->html)) { + if (!g_main_context_is_owner (NULL)) + gdk_threads_enter (); + gtk_html_stream_close (priv->stream, GTK_HTML_STREAM_OK); + + if (!g_main_context_is_owner (NULL)) + gdk_threads_leave (); + } priv->stream = NULL; if (priv->html && priv->stop_streams_id > 0) {