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.
This commit is contained in:
Emmanuele Bassi 2012-08-27 12:24:20 +01:00
parent 1b155504c5
commit 3937a7c74c

View File

@ -19948,6 +19948,8 @@ clutter_actor_set_child_transform (ClutterActor *self,
const ClutterMatrix *transform) const ClutterMatrix *transform)
{ {
ClutterTransformInfo *info; ClutterTransformInfo *info;
ClutterActorIter iter;
ClutterActor *child;
GObject *obj; GObject *obj;
g_return_if_fail (CLUTTER_IS_ACTOR (self)); 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; 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); clutter_actor_queue_redraw (self);
obj = G_OBJECT (self); obj = G_OBJECT (self);