[mutter] compositor: Make sure we always call the post_paint handlers



commit 436d3ff8a9f8c415728eca6a7afba30cc5b2ec32
Author: Adel Gadllah <adel gadllah gmail com>
Date:   Sat Mar 2 18:08:46 2013 +0100

    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 files changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c
index 06ae208..9771b1c 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);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]