diff options
Diffstat (limited to 'hw/usb-hid.c')
-rw-r--r-- | hw/usb-hid.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/hw/usb-hid.c b/hw/usb-hid.c index 17160ebe32..883befcc36 100644 --- a/hw/usb-hid.c +++ b/hw/usb-hid.c @@ -323,10 +323,16 @@ static int usb_tablet_poll(USBMouseState *s, uint8_t *buf, int len) return l; } -static void usb_mouse_handle_reset(USBDevice *dev) +static void usb_mouse_handle_reset(USBDevice *dev, int destroy) { USBMouseState *s = (USBMouseState *)dev; + if (destroy) { + qemu_add_mouse_event_handler(NULL, NULL, 0); + qemu_free(s); + return; + } + s->dx = 0; s->dy = 0; s->dz = 0; |