[mutter] clutter/actor: Properly detect uninitialized allocations when easing



commit 620dcf3364ae74e97b1634ce2cddcda74cf1c1dd
Author: Jonas Dreßler <verdre v0yd nl>
Date:   Fri Jun 5 23:13:11 2020 +0200

    clutter/actor: Properly detect uninitialized allocations when easing
    
    Now that we have a proper way to mark our allocation as uninitialized,
    make use of that and only disallow implicit transitions of the
    "allocation" property if that is the case.
    
    This fixes a bug where easing the allocation of an actor is impossible
    when someone queued a relayout on it (or a child of it) before.
    
    https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1290

 clutter/clutter/clutter-actor.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
---
diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c
index 1ebc6dde00..fc49fe6d12 100644
--- a/clutter/clutter/clutter-actor.c
+++ b/clutter/clutter/clutter-actor.c
@@ -19381,7 +19381,8 @@ should_skip_implicit_transition (ClutterActor *self,
    * skip all transitions on the :allocation, to avoid actors "flying in"
    * into their new position and size
    */
-  if (pspec == obj_props[PROP_ALLOCATION] && priv->needs_allocation)
+  if (pspec == obj_props[PROP_ALLOCATION] &&
+      !clutter_actor_box_is_initialized (&priv->allocation))
     return TRUE;
 
   /* if the actor is not mapped and is not part of a branch of the scene


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