From 03f3c18d27bd285a16f0ac04f1cb4f17aa4453d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Tue, 25 Jun 2024 11:53:57 +0200 Subject: [PATCH] window-actor/wayland: Sync actor state when actor is thawed This is currently redundant, but will be needed with the next commit. Part-of: --- src/compositor/meta-window-actor-wayland.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/compositor/meta-window-actor-wayland.c b/src/compositor/meta-window-actor-wayland.c index 8957d0c4e..8943ec5e0 100644 --- a/src/compositor/meta-window-actor-wayland.c +++ b/src/compositor/meta-window-actor-wayland.c @@ -25,6 +25,7 @@ #include "compositor/meta-surface-actor-wayland.h" #include "compositor/meta-window-actor-wayland.h" #include "meta/meta-window-actor.h" +#include "wayland/meta-wayland-actor-surface.h" #include "wayland/meta-wayland-buffer.h" #include "wayland/meta-wayland-single-pixel-buffer.h" #include "wayland/meta-wayland-surface-private.h" @@ -492,6 +493,21 @@ meta_window_actor_wayland_set_frozen (MetaWindowActor *actor, clutter_actor_iter_init (&iter, CLUTTER_ACTOR (self->surface_container)); while (clutter_actor_iter_next (&iter, &child)) meta_surface_actor_set_frozen (META_SURFACE_ACTOR (child), frozen); + + if (!frozen) + { + MetaSurfaceActor *surface_actor = meta_window_actor_get_surface (actor); + MetaWaylandSurface *surface = + meta_surface_actor_wayland_get_surface (META_SURFACE_ACTOR_WAYLAND (surface_actor)); + + if (surface && surface->role) + { + MetaWaylandActorSurface *actor_surface = + META_WAYLAND_ACTOR_SURFACE (surface->role); + + meta_wayland_actor_surface_sync_actor_state (actor_surface); + } + } } static void