[mutter] keybindings: Make sure not to call meta_change_keygrab under Wayland



commit 845fdda22c1e7595d72b710796ed61490b02cbbd
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Sat May 3 12:49:41 2014 -0400

    keybindings: Make sure not to call meta_change_keygrab under Wayland

 src/core/keybindings.c |   14 +++++++++-----
 1 files 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));


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]