mirror of
https://github.com/brl/mutter.git
synced 2025-01-23 09:59:03 +00:00
72f9646804
Bug 1499 - clutter_actor_notify_if_geometry_changed causes sync layout cycles Whenever clutter_actor_set_{width,height,x,y,size...} is used, extra synchronous size requests are triggered in clutter_actor_notify_if_geometry_changed. If the get_preferred_width() and get_preferred_height() implementations are particularly costly (e.g. ClutterText) this will result in a performance impact. To avoid excessive allocation or requisition cycles we use the cached values and flags. If we don't have an allocation, we assume that we need to notify all the properties; if we don't have a size requisition we notify only width and height; finally, if we do have a valid allocation we notify only on the changed values.