diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c index 95cfa655d..dd968585f 100644 --- a/clutter/clutter/clutter-actor.c +++ b/clutter/clutter/clutter-actor.c @@ -15459,18 +15459,19 @@ update_stage_views (ClutterActor *self) ClutterStage *stage; graphene_rect_t bounding_rect; + stage = CLUTTER_STAGE (_clutter_actor_get_stage_internal (self)); + g_return_if_fail (stage); + old_stage_views = g_steal_pointer (&priv->stage_views); if (priv->needs_allocation) { g_warning ("Can't update stage views actor %s is on because it needs an " "allocation.", _clutter_actor_get_debug_name (self)); + priv->stage_views = g_list_copy (clutter_stage_peek_stage_views (stage)); goto out; } - stage = CLUTTER_STAGE (_clutter_actor_get_stage_internal (self)); - g_return_if_fail (stage); - clutter_actor_get_transformed_extents (self, &bounding_rect); if (bounding_rect.size.width == 0.0 ||