summaryrefslogtreecommitdiff
path: root/gdk/wayland/gdkkeys-wayland.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2016-04-16 23:16:12 -0400
committerMatthias Clasen <mclasen@redhat.com>2016-04-16 23:16:12 -0400
commit5ba8a25d2966dc2cdc67a350d4ea6c4ecb293919 (patch)
tree23a0103a18ccedbfcafb09c224a186f3750d7521 /gdk/wayland/gdkkeys-wayland.c
parent97d27ca2f8a22ee3a1043fa1ad0e0813d8293f13 (diff)
downloadgtk+-5ba8a25d2966dc2cdc67a350d4ea6c4ecb293919.tar.gz
wayland: Fix the map_virtual_modifiers implementation
We were not stripping real modifiers out, and thus always thought there's a conflict when the passed in modifiers included any real modifiers.
Diffstat (limited to 'gdk/wayland/gdkkeys-wayland.c')
-rw-r--r--gdk/wayland/gdkkeys-wayland.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gdk/wayland/gdkkeys-wayland.c b/gdk/wayland/gdkkeys-wayland.c
index d73199f42c..eee2907649 100644
--- a/gdk/wayland/gdkkeys-wayland.c
+++ b/gdk/wayland/gdkkeys-wayland.c
@@ -420,7 +420,7 @@ gdk_wayland_keymap_map_virtual_modifiers (GdkKeymap *keymap,
mods = get_xkb_modifiers (xkb_keymap, *state);
xkb_state = xkb_state_new (xkb_keymap);
- xkb_state_update_mask (xkb_state, mods, 0, 0, 0, 0, 0);
+ xkb_state_update_mask (xkb_state, mods & ~0xff, 0, 0, 0, 0, 0);
mapped = xkb_state_serialize_mods (xkb_state, XKB_STATE_MODS_EFFECTIVE);
if ((mapped & mods & 0xff) != 0)
ret = FALSE;