[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