ui: fix crash with sendkey and raw key numbers

Previously we enforced that all key events are using QKeyCodes
at time they are sent:

  commit af07e5ff02ae6d4258fc5331007811d0b1c4d35a
  Author: Daniel P. Berrange <berrange@redhat.com>
  Date:   Fri Sep 29 11:12:00 2017 +0100

    ui: convert key events to QKeyCodes immediately

This commit forget to fix the code for the legacy 'sendkey'
command which still accepts key numbers from the user, which
then need converting to QKeyCodes

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 20171019142848.572-3-berrange@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Daniel P. Berrange 2017-10-19 15:28:41 +01:00 committed by Gerd Hoffmann
parent 700c85c00c
commit 1d5b8d770d

View File

@ -76,6 +76,11 @@ static KeyValue *copy_key_value(KeyValue *src)
{ {
KeyValue *dst = g_new(KeyValue, 1); KeyValue *dst = g_new(KeyValue, 1);
memcpy(dst, src, sizeof(*src)); memcpy(dst, src, sizeof(*src));
if (dst->type == KEY_VALUE_KIND_NUMBER) {
QKeyCode code = qemu_input_key_number_to_qcode(dst->u.number.data);
dst->type = KEY_VALUE_KIND_QCODE;
dst->u.qcode.data = code;
}
return dst; return dst;
} }