1
0
Fork 0
mutter-performance-source/clutter
Ivan Molodetskikh edbc9a2086 clutter/pick-stack: Add an allocation check to calculate_clear_area ()
We might pick an actor that needs relayout. I've seen this happen inside
hiding / unmapping in particular. In this case, calculate_clear_area ()
will call clutter_actor_get_abs_allocation_vertices () which in turn
will force a relayout. However, this is not what we want, because:

1. We don't want to run layout during picking.
2. If the actor needs an allocation, then the pick stack could not have
   used an up-to-date allocation, because it is not computed. Therefore
   this clear area would use a potentially completely different
   allocation than the one stored in the pick stack.

Thankfully, clear area seems to be used as a cache/optimization, so
let's just avoid computing it if the actor is not allocated.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3425>
2023-12-01 15:36:32 +00:00
..
clutter clutter/pick-stack: Add an allocation check to calculate_clear_area () 2023-12-01 15:36:32 +00:00
.gitignore build: One config file to rule them all 2023-11-15 12:00:19 +00:00
meson.build cleanup: Stop allowing deprecated Cogl API usage 2023-11-15 13:13:00 +01:00