aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2017-06-22 09:41:58 +0200
committerMichael Roth <mdroth@linux.vnet.ibm.com>2017-08-24 18:07:42 -0500
commitad480ab20b057209b959b948f073c5baea8ef8f1 (patch)
tree05b74e63cbb2a831f5707eeef64feb7c90375c58
parentf8d050a20a40113a6b6945fa364b655a6a327ac8 (diff)
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> Message-id: 1498117318-162102-1-git-send-email-agraf@suse.de Fixes: be1a7176 ("input: add support for kbd delays") Cc: qemu-stable@nongnu.org Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> (cherry picked from commit 77b0359bf414ad666d1714dc9888f1017c08e283) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
-rw-r--r--ui/input.c1
1 files changed, 1 insertions, 0 deletions
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)) {