60 lines
2.2 KiB
Diff
60 lines
2.2 KiB
Diff
From 845fdda22c1e7595d72b710796ed61490b02cbbd Mon Sep 17 00:00:00 2001
|
|
From: "Jasper St. Pierre" <jstpierre@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
|
|
|