mutter/src
Robert Mader 5772c27e04 shaped-texture: Expose ensure_size_valid() API
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>
2021-03-29 15:47:25 +00:00
..
backends backends/x11: Add traps around XIPointerWarp call 2021-03-29 13:52:31 +02:00
compositor shaped-texture: Expose ensure_size_valid() API 2021-03-29 15:47:25 +00:00
core core: Drop X11 error trap from pointer warping code 2021-03-29 13:54:06 +02:00
meta core: Drop "volatile" from static GTypes in manual registration 2021-03-22 10:47:51 +00:00
tests tests: Add persistent virtual monitor test 2021-03-12 15:09:45 +00:00
ui frame: Fix crash when clicking below titlebar with broken gtk themes 2021-03-08 21:16:09 +00:00
wayland wayland: Cancel selection data sources that are set while unfocused 2021-03-23 17:07:31 +00:00
x11 x11-display: Use unsetenv if old value was NULL 2021-02-27 09:16:49 +00:00
libmutter.pc.in build: Fix libs and cflags in autotools .pc file 2018-11-10 16:20:46 +00:00
meson.build screen-cast/session: Introduce RecordVirtual D-Bus API 2021-03-12 15:09:45 +00:00
meta-private-enum-types.c.in core: Drop "volatile" from static GTypes in manual registration 2021-03-22 10:47:51 +00:00
meta-private-enum-types.h.in screen-cast: Add screen cast flag to streams 2020-07-30 09:51:16 +02:00
org.freedesktop.login1.xml MetaLauncher: Don't g_error() on failure 2015-11-06 17:03:59 -05:00
org.gnome.Mutter.DisplayConfig.xml x11: Support the CTM (color transform matrix) RandR property 2021-01-11 13:44:54 +00:00
org.gnome.Mutter.IdleMonitor.xml idle-monitor: Add ResetIdletime API, for testing purposes 2018-04-16 13:28:03 +02:00
org.gnome.Mutter.RemoteDesktop.xml remote-desktop/session: Add CapsLockState and NumLockState properties 2021-03-04 17:39:08 +00:00
org.gnome.Mutter.ScreenCast.xml screen-cast/session: Introduce RecordVirtual D-Bus API 2021-03-12 15:09:45 +00:00