[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