input: don't queue delay if paused
commit05c6638b203fd7d8bbfa88ac6e6198e32ed0506f
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Tue, 25 Apr 2017 13:05:20 +0000 (25 17:05 +0400)
committerGerd Hoffmann <kraxel@redhat.com>
Wed, 3 May 2017 12:19:40 +0000 (3 14:19 +0200)
tree7827671d0017417f70cf3f1ca7cbf2ded6da0a2a
parentfa18f36a461984eae50ab957e47ec78dae3c14fc
input: don't queue delay if paused

qemu_input_event_send() discards key event when the guest is paused,
but not the delay.

The delay ends up in the input queue, and qemu_input_event_send_key()
will further fill the queue with upcoming events.

VNC uses qemu_input_event_send_key_delay(), not SPICE, which results
in a different input behaviour on pause: VNC will queue the events
(except the first that is discarded), SPICE will discard all events.

Don't queue delay if paused, and provide same behaviour on SPICE and
VNC clients on resume (and potentially avoid over-allocating the
buffer queue)

Fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=1444326

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20170425130520.31819-1-marcandre.lureau@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
ui/input.c