wayland/surface: Ensure to apply cached state

It is possible that we never create a cached state for a surface
even if it is synced. That is the case if `commit()` is never called.
We still need to call `apply_state()` in this case in order to run
e.g. `role_post_apply_state()` or `parent_state_applied` on subsurfaces.

So just ensure to initialize the cached state instead of bailing out.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2232>
This commit is contained in:
Robert Mader 2022-01-10 19:30:16 +01:00 committed by Marge Bot
parent 03434e566a
commit e3f0efa065

View File

@ -969,9 +969,7 @@ cleanup:
void
meta_wayland_surface_apply_cached_state (MetaWaylandSurface *surface)
{
if (!surface->cached_state)
return;
meta_wayland_surface_ensure_cached_state (surface);
meta_wayland_surface_apply_state (surface, surface->cached_state);
}