summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2018-06-16 14:26:39 +0200
committerCarlos Garnacho <carlosg@gnome.org>2018-08-10 21:10:38 +0200
commit3c6f1f46f55c6e3d099d7792ef6651994d36e26a (patch)
tree22c4fd14d5e15ef66fe846be85269bc910ec0a11
parent4953870215c01b01d7c8a53623e82d8d9202c50c (diff)
downloadmutter-wip/carlosg/unassorted-perf-fixes.tar.gz
Revert "Revert "ClutterActor: Optimize away idempotent scale/position updates""wip/carlosg/unassorted-perf-fixes
This reverts commit 4d2647cdbc6cc2b5a41eb8fcd5183a77819283dd. A proper fix is now in GTK+, let's reintroduce this optimization. Related: gtk#844, gtk!294
-rw-r--r--clutter/clutter/clutter-actor.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c
index 34baefd7f..d99d529e0 100644
--- a/clutter/clutter/clutter-actor.c
+++ b/clutter/clutter/clutter-actor.c
@@ -4840,7 +4840,8 @@ clutter_actor_set_scale_factor (ClutterActor *self,
g_assert (pspec != NULL);
g_assert (scale_p != NULL);
- _clutter_actor_create_transition (self, pspec, *scale_p, factor);
+ if (*scale_p != factor)
+ _clutter_actor_create_transition (self, pspec, *scale_p, factor);
}
static inline void
@@ -10279,9 +10280,10 @@ clutter_actor_set_position (ClutterActor *self,
cur_position.x = clutter_actor_get_x (self);
cur_position.y = clutter_actor_get_y (self);
- _clutter_actor_create_transition (self, obj_props[PROP_POSITION],
- &cur_position,
- &new_position);
+ if (!clutter_point_equals (&cur_position, &new_position))
+ _clutter_actor_create_transition (self, obj_props[PROP_POSITION],
+ &cur_position,
+ &new_position);
}
/**