[clutter] actor: Setting the child-transform invalidates the children's modelview



commit 3937a7c74c67e7ef0de149c7b536a5cd15aa3124
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Mon Aug 27 12:24:20 2012 +0100

    actor: Setting the child-transform invalidates the children's modelview
    
    We need to ensure that the children's cached modelview matrix gets
    invalidated when setting the :child-transform property on their parent.

 clutter/clutter-actor.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/clutter/clutter-actor.c b/clutter/clutter-actor.c
index 3f4b192..36c4f48 100644
--- a/clutter/clutter-actor.c
+++ b/clutter/clutter-actor.c
@@ -19948,6 +19948,8 @@ clutter_actor_set_child_transform (ClutterActor        *self,
                                    const ClutterMatrix *transform)
 {
   ClutterTransformInfo *info;
+  ClutterActorIter iter;
+  ClutterActor *child;
   GObject *obj;
 
   g_return_if_fail (CLUTTER_IS_ACTOR (self));
@@ -19961,6 +19963,11 @@ clutter_actor_set_child_transform (ClutterActor        *self,
 
   info->child_transform_set = transform != NULL;
 
+  /* we need to reset the transform_valid flag on each child */
+  clutter_actor_iter_init (&iter, self);
+  while (clutter_actor_iter_next (&iter, &child))
+    child->priv->transform_valid = FALSE;
+
   clutter_actor_queue_redraw (self);
 
   obj = G_OBJECT (self);



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