Updating branch refs/heads/jeromeg/webkit-thumbnailer-rebased to 42789b020901fb85d90899487e947e7cd049a16d (commit) from 45d54da553dcaebf2de100829f31bad9f973ca0d (commit)
commit 42789b020901fb85d90899487e947e7cd049a16d Author: Jérôme Guelfucci <jero...@xfce.org> Date: Sat Jun 4 13:35:58 2011 +0200 Move the capturing routine in a idle handler. plugins/webkit-thumbnailer/webkit-thumbnailer.c | 28 +++++++++++++++++----- 1 files changed, 21 insertions(+), 7 deletions(-) diff --git a/plugins/webkit-thumbnailer/webkit-thumbnailer.c b/plugins/webkit-thumbnailer/webkit-thumbnailer.c index f79dcfe..4314091 100644 --- a/plugins/webkit-thumbnailer/webkit-thumbnailer.c +++ b/plugins/webkit-thumbnailer/webkit-thumbnailer.c @@ -99,6 +99,25 @@ webkit_thumbnailer_class_finalize (WebkitThumbnailerClass *klass) +static gboolean +cb_view_loaded_idle (gpointer webkit_thumbnailer) +{ + WebkitThumbnailer *thumbnailer; + + thumbnailer = WEBKIT_THUMBNAILER (webkit_thumbnailer); + + /* snapshot the offscreen window */ + thumbnailer->tmp = + gtk_offscreen_window_get_pixbuf (GTK_OFFSCREEN_WINDOW (thumbnailer->offscreen)); + + /* done, exit the main loop */ + gtk_main_quit (); + + return FALSE; +} + + + static void cb_view_load_finished (GtkWidget *web_view, WebKitWebFrame *web_frame, @@ -106,16 +125,11 @@ cb_view_load_finished (GtkWidget *web_view, { /* force a redraw of the offscreen window to make sure we snapshot * the latest visual changes */ - gtk_widget_queue_draw (web_view); + gtk_widget_queue_draw (thumbnailer->view); gdk_window_process_updates (gtk_widget_get_window (thumbnailer->offscreen), TRUE); - /* snapshot the offscreen window */ - thumbnailer->tmp = - gtk_offscreen_window_get_pixbuf (GTK_OFFSCREEN_WINDOW (thumbnailer->offscreen)); - - /* done, exit the main loop */ - gtk_main_quit (); + g_idle_add (cb_view_loaded_idle, thumbnailer); } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits