From 0ada90024f442e4dac842717c18d921cd7453b2e Mon Sep 17 00:00:00 2001 From: Robert Mader Date: Sun, 23 Feb 2020 16:09:21 +0100 Subject: [PATCH] wayland/actor-surface: Check for MetaXwaylandSurface instead of window type The previous check would not ignore subsurfaces. Use the chance to directly check for the surface role instead - it's much cleaner. https://gitlab.gnome.org/GNOME/mutter/merge_requests/1082 --- src/wayland/meta-wayland-actor-surface.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/wayland/meta-wayland-actor-surface.c b/src/wayland/meta-wayland-actor-surface.c index d61603905..6b030fa7b 100644 --- a/src/wayland/meta-wayland-actor-surface.c +++ b/src/wayland/meta-wayland-actor-surface.c @@ -31,6 +31,7 @@ #include "wayland/meta-wayland-buffer.h" #include "wayland/meta-wayland-surface.h" #include "wayland/meta-window-wayland.h" +#include "wayland/meta-xwayland-surface.h" typedef struct _MetaWaylandActorSurfacePrivate MetaWaylandActorSurfacePrivate; @@ -150,7 +151,6 @@ meta_wayland_actor_surface_real_sync_actor_state (MetaWaylandActorSurface *actor MetaShapedTexture *stex; MetaWaylandBuffer *buffer; cairo_rectangle_int_t surface_rect; - MetaWindow *window; MetaWaylandSurface *subsurface_surface; surface_actor = priv->actor; @@ -195,9 +195,7 @@ meta_wayland_actor_surface_real_sync_actor_state (MetaWaylandActorSurface *actor meta_surface_actor_set_input_region (surface_actor, NULL); } - window = meta_wayland_surface_get_window (surface); - if (window && - window->client_type == META_WINDOW_CLIENT_TYPE_WAYLAND) + if (!META_IS_XWAYLAND_SURFACE (surface_role)) { if (surface->opaque_region) {