30 lines
1.0 KiB
Diff
30 lines
1.0 KiB
Diff
|
From bea345d1c1fa6d351de7cacf66ccc35845406b31 Mon Sep 17 00:00:00 2001
|
||
|
From: Alexander Graf <agraf@suse.de>
|
||
|
Date: Thu, 22 Jun 2017 09:36:36 +0200
|
||
|
Subject: [PATCH] input: Decrement queue count on kbd delay
|
||
|
|
||
|
Delays in the input layer are special cased input events. Every input
|
||
|
event is accounted for in a global intput queue count. The special cased
|
||
|
delays however did not get removed from the queue, leading to queue overruns
|
||
|
and thus silent key drops after typing quite a few characters.
|
||
|
|
||
|
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||
|
Fixes: be1a7176 ("input: add support for kbd delays")
|
||
|
Cc: qemu-stable@nongnu.org
|
||
|
---
|
||
|
ui/input.c | 1 +
|
||
|
1 file changed, 1 insertion(+)
|
||
|
|
||
|
diff --git a/ui/input.c b/ui/input.c
|
||
|
index fb1f404095..94ba3d52cf 100644
|
||
|
--- a/ui/input.c
|
||
|
+++ b/ui/input.c
|
||
|
@@ -252,6 +252,7 @@ static void qemu_input_queue_process(void *opaque)
|
||
|
item = QTAILQ_FIRST(queue);
|
||
|
g_assert(item->type == QEMU_INPUT_QUEUE_DELAY);
|
||
|
QTAILQ_REMOVE(queue, item, node);
|
||
|
+ queue_count--;
|
||
|
g_free(item);
|
||
|
|
||
|
while (!QTAILQ_EMPTY(queue)) {
|