[mutter/wayland] keybindings: Fix external grabs not being ungrabbed



commit 72bd5fb814370e398258ab5046ba9b4ba1a0805b
Author: Rui Matos <tiagomatos gmail com>
Date:   Tue Mar 4 20:26:49 2014 +0100

    keybindings: Fix external grabs not being ungrabbed
    
    Before starting to use display_get_keybinding() we could compare
    MetaKeyBinding.modifiers with MetaKeyCombo.modifiers directly. Now, we
    need to resolve the virtual modifiers to match with the mask.

 src/core/keybindings.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
---
diff --git a/src/core/keybindings.c b/src/core/keybindings.c
index 1885b38..3e9cf41 100644
--- a/src/core/keybindings.c
+++ b/src/core/keybindings.c
@@ -1354,6 +1354,7 @@ meta_display_ungrab_accelerator (MetaDisplay *display,
   MetaKeyBinding *binding;
   MetaKeyGrab *grab;
   char *key;
+  guint mask = 0;
 
   g_return_val_if_fail (action != META_KEYBINDING_ACTION_NONE, FALSE);
 
@@ -1362,9 +1363,9 @@ meta_display_ungrab_accelerator (MetaDisplay *display,
   if (!grab)
     return FALSE;
 
-  binding = display_get_keybinding (display,
-                                    grab->combo->keycode,
-                                    grab->combo->modifiers);
+  meta_display_devirtualize_modifiers (display, grab->combo->modifiers, &mask);
+
+  binding = display_get_keybinding (display, grab->combo->keycode, mask);
   if (binding)
     {
       guint32 index_key;


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