[mutter] Backport an upstream fix for a Wayland session crash
Kalev Lember
kalev at fedoraproject.org
Wed May 7 20:24:15 UTC 2014
commit aba344562836c0e5c287218dc8abecabe332947e
Author: Kalev Lember <kalevlember at gmail.com>
Date: Wed May 7 22:23:46 2014 +0200
Backport an upstream fix for a Wayland session crash
...-Make-sure-not-to-call-meta_change_keygra.patch | 59 ++++++++++++++++++++
mutter.spec | 9 +++-
2 files changed, 67 insertions(+), 1 deletions(-)
---
diff --git a/0001-keybindings-Make-sure-not-to-call-meta_change_keygra.patch b/0001-keybindings-Make-sure-not-to-call-meta_change_keygra.patch
new file mode 100644
index 0000000..2ee76f2
--- /dev/null
+++ b/0001-keybindings-Make-sure-not-to-call-meta_change_keygra.patch
@@ -0,0 +1,59 @@
+From 845fdda22c1e7595d72b710796ed61490b02cbbd Mon Sep 17 00:00:00 2001
+From: "Jasper St. Pierre" <jstpierre at mecheye.net>
+Date: Sat, 3 May 2014 12:49:41 -0400
+Subject: [PATCH] keybindings: Make sure not to call meta_change_keygrab under
+ Wayland
+
+---
+ src/core/keybindings.c | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/src/core/keybindings.c b/src/core/keybindings.c
+index bf9be99..b0a6bbd 100644
+--- a/src/core/keybindings.c
++++ b/src/core/keybindings.c
+@@ -1259,6 +1259,7 @@ guint
+ meta_display_grab_accelerator (MetaDisplay *display,
+ const char *accelerator)
+ {
++ MetaBackend *backend = meta_get_backend ();
+ MetaKeyBinding *binding;
+ MetaKeyGrab *grab;
+ guint keysym = 0;
+@@ -1284,7 +1285,8 @@ meta_display_grab_accelerator (MetaDisplay *display,
+ if (display_get_keybinding (display, keycode, mask))
+ return META_KEYBINDING_ACTION_NONE;
+
+- meta_change_keygrab (display, display->screen->xroot, TRUE, keysym, keycode, mask);
++ if (META_IS_BACKEND_X11 (backend))
++ meta_change_keygrab (display, display->screen->xroot, TRUE, keysym, keycode, mask);
+
+ grab = g_new0 (MetaKeyGrab, 1);
+ grab->action = next_dynamic_keybinding_action ();
+@@ -1314,6 +1316,7 @@ gboolean
+ meta_display_ungrab_accelerator (MetaDisplay *display,
+ guint action)
+ {
++ MetaBackend *backend = meta_get_backend ();
+ MetaKeyBinding *binding;
+ MetaKeyGrab *grab;
+ char *key;
+@@ -1335,10 +1338,11 @@ meta_display_ungrab_accelerator (MetaDisplay *display,
+ {
+ guint32 index_key;
+
+- meta_change_keygrab (display, display->screen->xroot, FALSE,
+- binding->keysym,
+- binding->keycode,
+- binding->mask);
++ if (META_IS_BACKEND_X11 (backend))
++ meta_change_keygrab (display, display->screen->xroot, FALSE,
++ binding->keysym,
++ binding->keycode,
++ binding->mask);
+
+ index_key = key_binding_key (binding->keycode, binding->mask);
+ g_hash_table_remove (display->key_bindings_index, GINT_TO_POINTER (index_key));
+--
+1.9.0
+
diff --git a/mutter.spec b/mutter.spec
index 5f94d6a..7f3b6bf 100644
--- a/mutter.spec
+++ b/mutter.spec
@@ -1,6 +1,6 @@
Name: mutter
Version: 3.13.1
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Window and compositing manager based on Clutter
Group: User Interface/Desktops
@@ -9,6 +9,9 @@ License: GPLv2+
URL: http://www.gnome.org
Source0: http://download.gnome.org/sources/%{name}/3.13/%{name}-%{version}.tar.xz
+# Backported upstream fix for a Wayland session crash
+Patch0: 0001-keybindings-Make-sure-not-to-call-meta_change_keygra.patch
+
BuildRequires: clutter-devel >= 1.15.90
BuildRequires: pango-devel
BuildRequires: startup-notification-devel
@@ -68,6 +71,7 @@ utilities for testing Metacity/Mutter themes.
%prep
%setup -q
+%patch0 -p1
%build
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; fi;
@@ -132,6 +136,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%exclude %{_datadir}/gtk-doc
%changelog
+* Wed May 07 2014 Kalev Lember <kalevlember at gmail.com> - 3.13.1-4
+- Backport an upstream fix for a Wayland session crash
+
* Wed May 07 2014 Kalev Lember <kalevlember at gmail.com> - 3.13.1-3
- Install mutter-launch as setuid root
More information about the scm-commits
mailing list