diff options
author | Jonas Dreßler <verdre@v0yd.nl> | 2020-05-03 23:33:19 +0200 |
---|---|---|
committer | Jonas Dreßler <verdre@v0yd.nl> | 2020-05-26 14:54:57 +0200 |
commit | 79d981aac9b0cdf19d96b47754b5f20a80e60c21 (patch) | |
tree | 0d2ee65d1e804c729ec49d3749c163bfb3300710 | |
parent | 2791f5b466efbb165e5a69cb64b205f8779b306b (diff) | |
download | mutter-79d981aac9b0cdf19d96b47754b5f20a80e60c21.tar.gz |
wayland/actor-surface: Factor in mapped clones in mapped check
We started listening to notify::mapped with commit
5eb5f724347ae8d141ef38b36565169c60c53ab1 in order to emit
wl_surface.leave events consistently when a surface gets hidden. This
caused a problem with the ClutterClones used in the overview, since
those temporarily map and unmap the windows for painting, spamming
wl_surface.leave and enter events to all surfaces.
We can easily fix that by also treating mapped clones as mapped, which
means the surface should also be on a wl_output when the overview is
shown.
Fixes https://gitlab.gnome.org/GNOME/mutter/-/issues/1141
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1235
-rw-r--r-- | src/wayland/meta-wayland-actor-surface.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/wayland/meta-wayland-actor-surface.c b/src/wayland/meta-wayland-actor-surface.c index b6c6918c3..7041aa118 100644 --- a/src/wayland/meta-wayland-actor-surface.c +++ b/src/wayland/meta-wayland-actor-surface.c @@ -293,7 +293,8 @@ meta_wayland_actor_surface_is_on_logical_monitor (MetaWaylandSurfaceRole *surfac MetaRectangle logical_monitor_layout; gboolean is_on_monitor; - if (!clutter_actor_is_mapped (actor)) + if (!clutter_actor_is_mapped (actor) && + !clutter_actor_has_mapped_clones (actor)) return FALSE; clutter_actor_get_transformed_position (actor, &x, &y); |