diff options
author | Alexander Graf <agraf@suse.de> | 2017-06-22 09:41:58 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2017-06-23 11:49:44 +0200 |
commit | 77b0359bf414ad666d1714dc9888f1017c08e283 (patch) | |
tree | ae7283a3da60e5930537f604f2e63e738b9f42c1 | |
parent | d3b787fa7ddea1c66ee59eb332d1523c67db8cf6 (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>
-rw-r--r-- | ui/input.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/ui/input.c b/ui/input.c index 2abd46de93..af05f06368 100644 --- a/ui/input.c +++ b/ui/input.c @@ -256,6 +256,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)) { |