popupMenu: don't handle key presses directly if there are modifiers
commit 1d58ea25ab
changed the
popupMenu code to handle key presses on source actors directly.
This fixed keynav into the session gear menu at the login screen.
Unfortunately, it also causes spurious pop ups if a modifier happens
to be held down.
This commit checks for modifiers and short circuits the up front
key handling if any are found.
https://bugzilla.gnome.org/show_bug.cgi?id=740043
This commit is contained in:
parent
97bd224261
commit
e33c68a415
@ -783,6 +783,16 @@ const PopupMenu = new Lang.Class({
|
||||
break;
|
||||
}
|
||||
|
||||
let state = event.get_state();
|
||||
|
||||
// if user has a modifier down (except capslock)
|
||||
// then don't handle the key press here
|
||||
state &= ~Clutter.ModifierType.LOCK_MASK;
|
||||
state &= Clutter.ModifierType.MODIFIER_MASK;
|
||||
|
||||
if (state)
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
|
||||
let symbol = event.get_key_symbol();
|
||||
if (symbol == Clutter.KEY_space || symbol == Clutter.KEY_Return) {
|
||||
this.toggle();
|
||||
|
Loading…
Reference in New Issue
Block a user