[mutter/gnome-42] window-actor/x11: Don't use direct scanout if the window is not opaque
- From: Robert Mader <rmader src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/gnome-42] window-actor/x11: Don't use direct scanout if the window is not opaque
- Date: Tue, 17 May 2022 12:15:54 +0000 (UTC)
commit 3bdd6e101dfcda5540df0ceaac695d7e82ff88ff
Author: Sebastian Keller <skeller gnome org>
Date: Wed May 11 22:41:29 2022 +0200
window-actor/x11: Don't use direct scanout if the window is not opaque
Some windows span the entire screen but still use transparency, such as
the desktop window of Nemo. When these windows were used for direct
scanout, the transparent areas would turn black and nothing else would
be rendered.
In addition to checking the surface for opaqueness, for X11 windows also
the window actor itself has to be checked, because its opacity might
have been changed via _NET_WM_WINDOW_OPACITY.
Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2263
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2409>
(cherry picked from commit dc43bb9f6874224b5cbae988aa8ffc3673213a6f)
src/compositor/meta-window-actor-x11.c | 3 +++
1 file changed, 3 insertions(+)
---
diff --git a/src/compositor/meta-window-actor-x11.c b/src/compositor/meta-window-actor-x11.c
index d06855b51c..82eaa428b5 100644
--- a/src/compositor/meta-window-actor-x11.c
+++ b/src/compositor/meta-window-actor-x11.c
@@ -445,6 +445,9 @@ meta_window_actor_x11_get_scanout_candidate (MetaWindowActor *actor)
clutter_actor_get_last_child (CLUTTER_ACTOR (actor)))
return NULL;
+ if (!meta_window_actor_is_opaque (actor))
+ return NULL;
+
return surface_actor;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]