diff options
author | Dave Davenport <qball@gmpclient.org> | 2016-11-14 08:28:54 +0100 |
---|---|---|
committer | Dave Davenport <qball@gmpclient.org> | 2016-11-14 08:28:54 +0100 |
commit | f0bc7e31856357fa6f35f08be09913facd2cb29c (patch) | |
tree | ec641801bcc528125367728575cd9ea0535113d7 /source | |
parent | 7cc90abceb17895a5a498572189cd703aaedb5fb (diff) |
Fix #485: Correctly remove consumed masks.
Diffstat (limited to 'source')
-rw-r--r-- | source/view.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source/view.c b/source/view.c index 6ddbe099..99070f41 100644 --- a/source/view.c +++ b/source/view.c @@ -1192,7 +1192,9 @@ static void rofi_view_handle_keypress ( RofiViewState *state, xkb_stuff *xkb, xc len = xkb_state_key_get_utf8 ( xkb->state, xkpe->detail, pad, sizeof ( pad ) ); } - unsigned int modstate = x11_canonalize_mask ( xkpe->state ); + xkb_mod_mask_t consumed = xkb_state_key_get_consumed_mods ( xkb->state, xkpe->detail ); + + unsigned int modstate = x11_canonalize_mask ( xkpe->state& (~consumed) ); if ( key != XKB_KEY_NoSymbol ) { KeyBindingAction action; |