Backport fix for RH #1133166

This commit is contained in:
Adel Gadllah 2014-08-26 19:02:06 +02:00
parent 6f88355cb1
commit 64e61654ac
2 changed files with 49 additions and 1 deletions

View File

@ -0,0 +1,43 @@
From d15bce3e4aff06e4a70f156f41eec73f4089cd16 Mon Sep 17 00:00:00 2001
From: Adel Gadllah <adel.gadllah@gmail.com>
Date: Tue, 26 Aug 2014 18:22:33 +0200
Subject: [PATCH] meta-surface-actor: Fix is_argb32 for unredirected windows
meta_surface_actor_is_argb32 assumes that lack of stex means that a window is
ARGB32. When we unredirect a window we detach the texture so we end up without
a texture. Given that should_unredirect returns FALSE when a window is argb32,
we know that this window is indeed not ARGB32.
Returing TRUE in that case causes us to flip between redirected and
unredirected on every paint.
So fix that by returning FALSE in that case.
---
src/compositor/meta-surface-actor.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/compositor/meta-surface-actor.c b/src/compositor/meta-surface-actor.c
index e7e3a02..bb85478 100644
--- a/src/compositor/meta-surface-actor.c
+++ b/src/compositor/meta-surface-actor.c
@@ -280,9 +280,15 @@ meta_surface_actor_is_argb32 (MetaSurfaceActor *self)
CoglTexture *texture = meta_shaped_texture_get_texture (stex);
/* If we don't have a texture, like during initialization, assume
- * that we're ARGB32. */
+ * that we're ARGB32.
+ *
+ * If we are unredirected and we have no texture assume that we are
+ * not ARGB32 otherwise we wouldn't be unredirected in the first
+ * place. This prevents us from continually redirecting and
+ * unredirecting on every paint.
+ */
if (!texture)
- return TRUE;
+ return !meta_surface_actor_is_unredirected (self);
switch (cogl_texture_get_components (texture))
{
--
1.9.3

View File

@ -2,7 +2,7 @@
Name: mutter
Version: 3.13.90
Release: 3%{?dist}
Release: 4%{?dist}
Summary: Window and compositing manager based on Clutter
Group: User Interface/Desktops
@ -12,6 +12,7 @@ URL: http://www.gnome.org
Source0: http://download.gnome.org/sources/%{name}/3.13/%{name}-%{version}.tar.xz
# rhbz1103221 From upstream git, drop when rebasing
Patch1: 0001-workspace-Smarten-assert-in-light-of-O-R-windows.patch
Patch2: 0001-meta-surface-actor-Fix-is_argb32-for-unredirected-wi.patch
BuildRequires: clutter-devel >= %{clutter_version}
BuildRequires: pango-devel
@ -78,6 +79,7 @@ utilities for testing Metacity/Mutter themes.
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%build
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; fi;
@ -142,6 +144,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%exclude %{_datadir}/gtk-doc
%changelog
* Tue Aug 26 2014 Adel Gadllah <adel.gadllah@gmail.com> - 3.13.90-4
- Apply fix for RH #1133166
* Mon Aug 25 2014 Hans de Goede <hdegoede@redhat.com> - 3.13.90-3
- Add a patch from upstream fixing gnome-shell crashing non stop on
multi monitor setups (rhbz#1103221)