Deal with unknown flags from ClutterEvent.get_state()

When we get a ClutterModifierType from Clutter, it might contain
bits not in the enumeration. See bug 59771 for a similar problem
with GdkModifierType.

Add a wrapper Shell.get_event_state() around clutter_event_get_state()
to mask these bits out and only return approved bits.

https://bugzilla.gnome.org/show_bug.cgi?id=597735
This commit is contained in:
Owen W. Taylor
2009-10-07 17:20:33 -04:00
parent a81a16801d
commit ff39edd1ee
5 changed files with 24 additions and 3 deletions

View File

@ -148,7 +148,7 @@ AltTabPopup.prototype = {
_keyPressEvent : function(actor, event) {
let keysym = event.get_key_symbol();
let shift = (event.get_state() & Clutter.ModifierType.SHIFT_MASK);
let shift = (Shell.get_event_state(event) & Clutter.ModifierType.SHIFT_MASK);
// The WASD stuff is for debugging in Xephyr, where the arrow
// keys aren't mapped correctly