From b09c1d3bfaab361bdd9a7c61ed1ef1eced1ffb92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Tue, 2 Jul 2024 19:39:27 +0200 Subject: [PATCH] wayland/actor-surface: Don't bail for Xwayland surfaces Thawing Xwayland surfaces don't hit meta_window_actor_wayland_set_frozen, so we need to sync actor state for them here. v2: * Guard META_IS_XWAYLAND_SURFACE by HAVE_XWAYLAND, fixes Wayland-only build. Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3557 Fixes: ec5444f541a5 ("wayland/actor-surface: Don't sync actor state for frozen actors") Part-of: (cherry picked from commit 041a404ba03b0d66db003f983b8cd6d27852445f) --- src/wayland/meta-wayland-actor-surface.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/wayland/meta-wayland-actor-surface.c b/src/wayland/meta-wayland-actor-surface.c index ba3539869..93659d3b9 100644 --- a/src/wayland/meta-wayland-actor-surface.c +++ b/src/wayland/meta-wayland-actor-surface.c @@ -292,8 +292,13 @@ meta_wayland_actor_surface_sync_actor_state (MetaWaylandActorSurface *actor_surf MetaWaylandActorSurfacePrivate *priv = meta_wayland_actor_surface_get_instance_private (actor_surface); - if (priv->actor && meta_surface_actor_is_frozen (priv->actor)) - return; +#ifdef HAVE_XWAYLAND + if (!META_IS_XWAYLAND_SURFACE (actor_surface)) +#endif + { + if (priv->actor && meta_surface_actor_is_frozen (priv->actor)) + return; + } actor_surface_class->sync_actor_state (actor_surface); }