while (G_UNLIKELY (nb_written < nb_read)) {
gssize len;
- gdk_threads_enter ();
len = tny_stream_write (fidata->output_stream, buffer + nb_written,
nb_read - nb_written);
- gdk_threads_leave ();
if (G_UNLIKELY (len < 0))
break;
nb_written += len;
}
}
}
- gdk_threads_enter ();
tny_stream_close (cache_stream);
g_object_unref (cache_stream);
- gdk_threads_leave ();
}
- gdk_threads_enter ();
tny_stream_close (fidata->output_stream);
g_object_unref (fidata->output_stream);
- gdk_threads_leave ();
g_idle_add (on_fetch_image_idle_refresh_view, fidata);
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 */
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) {