mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
bug 837293. Don't send keyPress events for characters that were pressed at the same time as the altGr button. When our CharacterReceived handler fires, don't send modifier key information if it includes the altGr button. r=bbondy
This commit is contained in:
parent
abc39cc023
commit
0c7899796c
@ -576,6 +576,11 @@ MetroInput::OnCharacterReceived(uint32_t aCharCode,
|
||||
|
||||
nsKeyEvent keyEvent(true, NS_KEY_PRESS, mWidget.Get());
|
||||
mModifierKeyState.Update();
|
||||
if (mModifierKeyState.IsAltGr()) {
|
||||
mModifierKeyState.Unset(MODIFIER_CONTROL
|
||||
| MODIFIER_ALT
|
||||
| MODIFIER_ALTGRAPH);
|
||||
}
|
||||
mModifierKeyState.InitInputEvent(keyEvent);
|
||||
keyEvent.time = ::GetMessageTime();
|
||||
keyEvent.isChar = true;
|
||||
@ -662,7 +667,8 @@ MetroInput::OnKeyDown(uint32_t aVKey,
|
||||
keyEvent.charCode = MapVirtualKey(aVKey, MAPVK_VK_TO_CHAR);
|
||||
keyEvent.isChar = !IsControlCharacter(keyEvent.charCode);
|
||||
if (!keyEvent.isChar
|
||||
|| mModifierKeyState.IsControl()) {
|
||||
|| (mModifierKeyState.IsControl()
|
||||
&& !mModifierKeyState.IsAltGr())) {
|
||||
// We don't want to send another message to our plugin,
|
||||
// so reset keyEvent.pluginEvent
|
||||
keyEvent.pluginEvent = nullptr;
|
||||
|
Loading…
Reference in New Issue
Block a user