Date: Friday, November 8, 2019 @ 23:19:22
  Author: heftig
Revision: 367225

3.34.1+52+g403d8fcc6-1

Added:
  mutter/trunk/918.patch
Modified:
  mutter/trunk/PKGBUILD

-----------+
 918.patch |   33 +++++++++++++++++++++++++++++++++
 PKGBUILD  |    9 +++++++--
 2 files changed, 40 insertions(+), 2 deletions(-)

Added: 918.patch
===================================================================
--- 918.patch                           (rev 0)
+++ 918.patch   2019-11-08 23:19:22 UTC (rev 367225)
@@ -0,0 +1,33 @@
+From 1b26e414eccc33e26c464b282739315cb24f8f38 Mon Sep 17 00:00:00 2001
+From: Robert Mader <robert.ma...@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
+

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2019-11-08 22:27:10 UTC (rev 367224)
+++ PKGBUILD    2019-11-08 23:19:22 UTC (rev 367225)
@@ -3,7 +3,7 @@
 # Contributor: Michael Kanis <mkanis_at_gmx_dot_de>
 
 pkgname=mutter
-pkgver=3.34.1+31+g51f7e8c4d
+pkgver=3.34.1+52+g403d8fcc6
 pkgrel=1
 pkgdesc="A window manager for GNOME"
 url="https://gitlab.gnome.org/GNOME/mutter";
@@ -16,10 +16,12 @@
 checkdepends=(xorg-server-xvfb)
 groups=(gnome)
 install=mutter.install
-_commit=51f7e8c4ddd8772853c3df73dd7cf4f87065dc7a  # gnome-3-34
+_commit=403d8fcc6624f5d027dd599c934411e71d248754  # gnome-3-34
 source=("git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit";
+        918.patch
         fix-build.diff)
 sha256sums=('SKIP'
+            '775fbcd209a170b6ca13326367ef62b8d35acff16019553c40eb24f0684c3495'
             '28aa24daed161f2566ca2b159beb43285184c533956b851a7eb318de741da935')
 
 pkgver() {
@@ -30,6 +32,9 @@
 prepare() {
   cd $pkgname
 
+  # https://gitlab.gnome.org/GNOME/mutter/merge_requests/918
+  git apply -3 ../918.patch
+
   # fix build with libglvnd's EGL headers
   git apply -3 ../fix-build.diff
 }

Reply via email to