[clutter-gtk] gtk-clutter-embed: don't use queue redraw on gtk+'s draw()



commit 4ef73b72ac15505914a24f15ded842737b954dfc
Author: Lionel Landwerlin <llandwerlin gmail com>
Date:   Sun Aug 17 21:31:28 2014 +0100

    gtk-clutter-embed: don't use queue redraw on gtk+'s draw()
    
    Calling clutter_actor_queue_redraw() triggers an asynchronous redraw
    cycle, which triggers the callback from gtk-clutter-embed on the
    'queue-redraw' signal, thus triggering another GTK+ paint cycle.
    
    This ends up in a infinite draw loop.
    
    This patch uses the clutter_stage_ensure_redraw() methods, which
    prevents the 'queue-redraw' signal emission (this is exactly what we
    want).
    
    https://bugzilla.gnome.org/show_bug.cgi?id=734906

 clutter-gtk/gtk-clutter-embed.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/clutter-gtk/gtk-clutter-embed.c b/clutter-gtk/gtk-clutter-embed.c
index 0ff2f5e..56b7840 100644
--- a/clutter-gtk/gtk-clutter-embed.c
+++ b/clutter-gtk/gtk-clutter-embed.c
@@ -272,7 +272,7 @@ gtk_clutter_embed_draw (GtkWidget *widget, cairo_t *cr)
   GtkClutterEmbedPrivate *priv = GTK_CLUTTER_EMBED (widget)->priv;
 
   if (clutter_check_windowing_backend (CLUTTER_WINDOWING_GDK))
-    clutter_actor_queue_redraw (priv->stage);
+    clutter_stage_ensure_redraw (CLUTTER_STAGE (priv->stage));
 #endif
 
   return GTK_WIDGET_CLASS (gtk_clutter_embed_parent_class)->draw (widget, cr);


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