[mutter/f19] Include a fix for lingering shadows

Matthias Clasen mclasen at fedoraproject.org
Mon Dec 9 20:44:55 UTC 2013


commit 6b95a8e837214a2b0229e5fd24a169aa36b2edf3
Author: Matthias Clasen <mclasen at redhat.com>
Date:   Mon Dec 9 15:44:49 2013 -0500

    Include a fix for lingering shadows

 0001-MetaWindowGroup-fix-paint-volume.patch |   57 +++++++++++++++++++++++++++
 mutter.spec                                 |    9 ++++-
 2 files changed, 65 insertions(+), 1 deletions(-)
---
diff --git a/0001-MetaWindowGroup-fix-paint-volume.patch b/0001-MetaWindowGroup-fix-paint-volume.patch
new file mode 100644
index 0000000..6435b73
--- /dev/null
+++ b/0001-MetaWindowGroup-fix-paint-volume.patch
@@ -0,0 +1,57 @@
+From 16629c289f5d8e77ae042dc1ca1ee662e6bf1a06 Mon Sep 17 00:00:00 2001
+From: "Owen W. Taylor" <otaylor at fishsoup.net>
+Date: Tue, 3 Dec 2013 00:27:03 -0500
+Subject: [PATCH] MetaWindowGroup: fix paint volume
+
+In the past, MetaWindowGroup was allocated the size of the screen and
+painted the size of the screen because it contained the screen background,
+but now we also have the "top window group" which contains only popup
+windows, so the allocation doesn't properly reflect the paint bounds
+of the window group. Compute the paint bounds accurately from the
+children.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=719669
+---
+ src/compositor/meta-window-group.c | 23 +++++++++++++++++++++--
+ 1 file changed, 21 insertions(+), 2 deletions(-)
+
+diff --git a/src/compositor/meta-window-group.c b/src/compositor/meta-window-group.c
+index fedae95..7972e65 100644
+--- a/src/compositor/meta-window-group.c
++++ b/src/compositor/meta-window-group.c
+@@ -250,11 +250,30 @@ meta_window_group_paint (ClutterActor *actor)
+   g_list_free (children);
+ }
+ 
++/* Adapted from clutter_actor_update_default_paint_volume() */
+ static gboolean
+-meta_window_group_get_paint_volume (ClutterActor       *actor,
++meta_window_group_get_paint_volume (ClutterActor       *self,
+                                     ClutterPaintVolume *volume)
+ {
+-  return clutter_paint_volume_set_from_allocation (volume, actor);
++  ClutterActorIter iter;
++  ClutterActor *child;
++
++  clutter_actor_iter_init (&iter, self);
++  while (clutter_actor_iter_next (&iter, &child))
++    {
++      const ClutterPaintVolume *child_volume;
++
++      if (!CLUTTER_ACTOR_IS_MAPPED (child))
++        continue;
++
++      child_volume = clutter_actor_get_transformed_paint_volume (child, self);
++      if (child_volume == NULL)
++        return FALSE;
++
++      clutter_paint_volume_union (volume, child_volume);
++    }
++
++  return TRUE;
+ }
+ 
+ static void
+-- 
+1.8.4.2
+
diff --git a/mutter.spec b/mutter.spec
index c25e949..f0b512f 100644
--- a/mutter.spec
+++ b/mutter.spec
@@ -1,6 +1,6 @@
 Name:          mutter
 Version:       3.8.4
-Release:       1%{?dist}
+Release:       2%{?dist}
 Summary:       Window and compositing manager based on Clutter
 
 Group:         User Interface/Desktops
@@ -8,6 +8,9 @@ License:       GPLv2+
 #VCS:          git:git://git.gnome.org/mutter
 Source0:       http://download.gnome.org/sources/%{name}/3.8/%{name}-%{version}.tar.xz
 
+# upstream fix
+Patch0: 0001-MetaWindowGroup-fix-paint-volume.patch
+
 BuildRequires: clutter-devel >= 1.13.5
 BuildRequires: pango-devel
 BuildRequires: startup-notification-devel
@@ -63,6 +66,7 @@ utilities for testing Metacity/Mutter themes.
 
 %prep
 %setup -q
+%patch0 -p1 
 
 %build
 (if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; fi;
@@ -133,6 +137,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
 %exclude %{_datadir}/gtk-doc
 
 %changelog
+* Mon Dec  9 2013 Matthias Clasen <mclasen at redhat.com> - 3.8.4-2
+- Include a fix for lingering shadows
+
 * Tue Jul 30 2013 Ray Strode <rstrode at redhat.com> 3.8.4-1
 - Update to 3.8.4
 


More information about the scm-commits mailing list