diff options
author | Matthias Clasen <mclasen@redhat.com> | 2016-04-16 23:16:12 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2016-04-19 10:36:14 -0400 |
commit | 49bddf48ad496b83b3a27e8bf9274de113e3c393 (patch) | |
tree | 5d577445144cd5db962e97efa59f3c766fd77e04 | |
parent | 4018a32e0b15047032e54d9a911bd9856b89ab34 (diff) | |
download | gtk+-49bddf48ad496b83b3a27e8bf9274de113e3c393.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.
-rw-r--r-- | gdk/wayland/gdkkeys-wayland.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gdk/wayland/gdkkeys-wayland.c b/gdk/wayland/gdkkeys-wayland.c index c8190c412f..453d976360 100644 --- a/gdk/wayland/gdkkeys-wayland.c +++ b/gdk/wayland/gdkkeys-wayland.c @@ -417,7 +417,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; |