[mutter] surface-actor-wayland: Do not send frame callbacks if the actor is obscured



commit 5e87d67e5f3a9d61230b88fa62dd22668257e524
Author: Robert Mader <robert mader posteo de>
Date:   Mon Nov 4 11:45:13 2019 +0100

    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, 2 insertions(+), 1 deletion(-)
---
diff --git a/src/compositor/meta-surface-actor-wayland.c b/src/compositor/meta-surface-actor-wayland.c
index 0b1c4ef01..c91dd8222 100644
--- a/src/compositor/meta-surface-actor-wayland.c
+++ b/src/compositor/meta-surface-actor-wayland.c
@@ -103,7 +103,8 @@ meta_surface_actor_wayland_paint (ClutterActor *actor)
 {
   MetaSurfaceActorWayland *self = META_SURFACE_ACTOR_WAYLAND (actor);
 
-  if (self->surface)
+  if (self->surface &&
+      !meta_surface_actor_is_obscured (META_SURFACE_ACTOR (actor)))
     {
       MetaWaylandCompositor *compositor = self->surface->compositor;
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]