diff options
Diffstat (limited to '918.patch')
-rw-r--r-- | 918.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/918.patch b/918.patch new file mode 100644 index 000000000000..a59a483421bd --- /dev/null +++ b/918.patch @@ -0,0 +1,33 @@ +From 1b26e414eccc33e26c464b282739315cb24f8f38 Mon Sep 17 00:00:00 2001 +From: Robert Mader <robert.mader@posteo.de> +Date: Mon, 4 Nov 2019 11:45:13 +0100 +Subject: [PATCH] surface-actor-wayland: Do not send frame callbacks if the + actor is obscured + +`meta_surface_actor_is_obscured` implies that the actor got successfully culled +out and nothing of it will get painted. This includes that there are no clones, +no effects etc. In this cases we don't want to send frame callbacks, thus avoiding +unnecessary client work. + +https://gitlab.gnome.org/GNOME/mutter/merge_requests/918 +--- + src/compositor/meta-surface-actor-wayland.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/compositor/meta-surface-actor-wayland.c b/src/compositor/meta-surface-actor-wayland.c +index 0b1c4ef01..e0335348f 100644 +--- a/src/compositor/meta-surface-actor-wayland.c ++++ b/src/compositor/meta-surface-actor-wayland.c +@@ -103,6 +103,9 @@ meta_surface_actor_wayland_paint (ClutterActor *actor) + { + MetaSurfaceActorWayland *self = META_SURFACE_ACTOR_WAYLAND (actor); + ++ if (meta_surface_actor_is_obscured (META_SURFACE_ACTOR (actor))) ++ return; ++ + if (self->surface) + { + MetaWaylandCompositor *compositor = self->surface->compositor; +-- +2.22.0 + |