45949aa942
Fix for issue which affects openQA OBS-URL: https://build.opensuse.org/request/show/506218 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=346
28 lines
951 B
Diff
28 lines
951 B
Diff
From b1fafc01f55733b0e1aaeba84192b6515c92f7a0 Mon Sep 17 00:00:00 2001
|
|
From: Alexander Graf <agraf@suse.de>
|
|
Date: Thu, 22 Jun 2017 09:33:21 +0200
|
|
Subject: [PATCH] hid: Reset kbd modifiers on reset
|
|
|
|
When resetting the keyboard, we need to reset not just the pending keystrokes,
|
|
but also any pending modifiers. Otherwise there's a race when we're getting
|
|
reset while running an escape sequence (modifier 0x100).
|
|
|
|
Cc: qemu-stable@nongnu.org
|
|
Signed-off-by: Alexander Graf <agraf@suse.de>
|
|
---
|
|
hw/input/hid.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/hw/input/hid.c b/hw/input/hid.c
|
|
index 93887ecc43..0d049ff61c 100644
|
|
--- a/hw/input/hid.c
|
|
+++ b/hw/input/hid.c
|
|
@@ -487,6 +487,7 @@ void hid_reset(HIDState *hs)
|
|
memset(hs->kbd.keycodes, 0, sizeof(hs->kbd.keycodes));
|
|
memset(hs->kbd.key, 0, sizeof(hs->kbd.key));
|
|
hs->kbd.keys = 0;
|
|
+ hs->kbd.modifiers = 0;
|
|
break;
|
|
case HID_MOUSE:
|
|
case HID_TABLET:
|