From 3937a7c74c67e7ef0de149c7b536a5cd15aa3124 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Mon, 27 Aug 2012 12:24:20 +0100 Subject: [PATCH] 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 file changed, 7 insertions(+) diff --git a/clutter/clutter-actor.c b/clutter/clutter-actor.c index 3f4b192b9..36c4f48d6 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);