summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorDave Davenport <qball@gmpclient.org>2016-11-14 08:28:54 +0100
committerDave Davenport <qball@gmpclient.org>2016-11-14 08:28:54 +0100
commitf0bc7e31856357fa6f35f08be09913facd2cb29c (patch)
treeec641801bcc528125367728575cd9ea0535113d7 /source
parent7cc90abceb17895a5a498572189cd703aaedb5fb (diff)
Fix #485: Correctly remove consumed masks.
Diffstat (limited to 'source')
-rw-r--r--source/view.c4
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;