From 436d3ff8a9f8c415728eca6a7afba30cc5b2ec32 Mon Sep 17 00:00:00 2001 From: Adel Gadllah Date: Sat, 2 Mar 2013 18:08:46 +0100 Subject: [PATCH] compositor: Make sure we always call the post_paint handlers Commit 4f2bb583bf8c7f started to use a clutter_threads_add_repaint_func_full callback instead of connecting to the stage's paint signal. The callback has to return TRUE if it wants to be called again, so fix that as we want to call it for every frame (otherwise apps supporting the WM SYNC protocol will stop drawing). https://bugzilla.gnome.org/show_bug.cgi?id=695006 --- src/compositor/compositor.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c index 06ae208c6..9771b1cf5 100644 --- a/src/compositor/compositor.c +++ b/src/compositor/compositor.c @@ -452,7 +452,7 @@ meta_check_end_modal (MetaScreen *screen) } } -static void +static gboolean after_stage_paint (gpointer data) { MetaCompScreen *info = (MetaCompScreen*) data; @@ -460,6 +460,8 @@ after_stage_paint (gpointer data) for (l = info->windows; l; l = l->next) meta_window_actor_post_paint (l->data); + + return TRUE; } void @@ -533,7 +535,7 @@ meta_compositor_manage_screen (MetaCompositor *compositor, info->stage = clutter_stage_new (); clutter_threads_add_repaint_func_full (CLUTTER_REPAINT_FLAGS_POST_PAINT, - (GSourceFunc) after_stage_paint, + after_stage_paint, info, NULL); clutter_stage_set_sync_delay (CLUTTER_STAGE (info->stage), META_SYNC_DELAY);