input: Decrement queue count on kbd delay
diff mbox

Message ID 1498117318-162102-1-git-send-email-agraf@suse.de
State New
Headers show

Commit Message

Alexander Graf June 22, 2017, 7:41 a.m. UTC
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(+)

Patch
diff mbox

diff --git a/ui/input.c b/ui/input.c
index 290ca9f..650a57e 100644
--- a/ui/input.c
+++ b/ui/input.c
@@ -257,6 +257,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)) {