From f0bc7e31856357fa6f35f08be09913facd2cb29c Mon Sep 17 00:00:00 2001 From: Dave Davenport Date: Mon, 14 Nov 2016 08:28:54 +0100 Subject: [PATCH] Fix #485: Correctly remove consumed masks. --- source/view.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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;