diff options
author | Lionel Landwerlin <llandwerlin@gmail.com> | 2014-08-16 11:19:22 +0100 |
---|---|---|
committer | Lionel Landwerlin <llandwerlin@gmail.com> | 2014-08-17 16:59:10 +0100 |
commit | 304e9f8cc15ad9cd446f286780ef06dba93e849b (patch) | |
tree | baf20caabd0c3df7f6f5782225a984e3cd328053 | |
parent | 5b3fd166f0051020b200d589fdbae69fe3c1743a (diff) | |
download | clutter-gtk-304e9f8cc15ad9cd446f286780ef06dba93e849b.tar.gz |
gtk-clutter-actor: fix inconsistent condition in actor update
Using the gdk backend of Clutter, you could end up in situation where
none of the embedded widgets were being displayed. That's because the
conditions for invalidating the canvas where inconsistent with the
rest of the code.
https://bugzilla.gnome.org/show_bug.cgi?id=734905
-rw-r--r-- | clutter-gtk/gtk-clutter-actor.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/clutter-gtk/gtk-clutter-actor.c b/clutter-gtk/gtk-clutter-actor.c index b5de571..1732abc 100644 --- a/clutter-gtk/gtk-clutter-actor.c +++ b/clutter-gtk/gtk-clutter-actor.c @@ -579,13 +579,9 @@ _gtk_clutter_actor_update (GtkClutterActor *actor, { GtkClutterActorPrivate *priv = actor->priv; - if (gtk_clutter_actor_use_image_surface ()) - { - clutter_content_invalidate (priv->canvas); - } - else #if defined(CLUTTER_WINDOWING_X11) - if (clutter_check_windowing_backend (CLUTTER_WINDOWING_X11)) + if (!gtk_clutter_actor_use_image_surface () && + clutter_check_windowing_backend (CLUTTER_WINDOWING_X11)) { clutter_x11_texture_pixmap_update_area (CLUTTER_X11_TEXTURE_PIXMAP (priv->texture), x, y, width, height); @@ -593,7 +589,7 @@ _gtk_clutter_actor_update (GtkClutterActor *actor, else #endif { - /* ... */ + clutter_content_invalidate (priv->canvas); } clutter_actor_queue_redraw (CLUTTER_ACTOR (actor)); |