mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 01:20:42 -05:00
5772c27e04
When the texture size is invalidated using `invalidate_size()`, the new size will only get calculated the next time `update_size()` is called. This happens e.g. in `meta_shaped_texture_get_preferred_size()` via `ensure_size_valid()`. `update_size()` can chain up to `clutter_content_invalidate_size()` as well as emitting a `size-changed` signal. If this happens during layout, the result is a 'change the layout conditions during layout' issue, causing heavy breakage in e.g. the Shell overview. To fix this, expose `ensure_size_valid()` as API so callers can make sure the texture has a valid size without creating redundant size invalidations calls. Note that if a buffer with a new size is attached we already trigger `update_size()` explicitely, avoiding such situations. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1799> |
||
---|---|---|
.. | ||
backends | ||
compositor | ||
core | ||
meta | ||
tests | ||
ui | ||
wayland | ||
x11 | ||
libmutter.pc.in | ||
meson.build | ||
meta-private-enum-types.c.in | ||
meta-private-enum-types.h.in | ||
org.freedesktop.login1.xml | ||
org.gnome.Mutter.DisplayConfig.xml | ||
org.gnome.Mutter.IdleMonitor.xml | ||
org.gnome.Mutter.RemoteDesktop.xml | ||
org.gnome.Mutter.ScreenCast.xml |