From aba344562836c0e5c287218dc8abecabe332947e Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Wed, 7 May 2014 22:23:46 +0200 Subject: [PATCH] Backport an upstream fix for a Wayland session crash --- ...-sure-not-to-call-meta_change_keygra.patch | 59 +++++++++++++++++++ mutter.spec | 9 ++- 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 0001-keybindings-Make-sure-not-to-call-meta_change_keygra.patch 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" +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 - 3.13.1-4 +- Backport an upstream fix for a Wayland session crash + * Wed May 07 2014 Kalev Lember - 3.13.1-3 - Install mutter-launch as setuid root