Revision 059809e4 hw/usb-hid.c

b/hw/usb-hid.c
323 323
    return l;
324 324
}
325 325

  
326
static void usb_mouse_handle_reset(USBDevice *dev, int destroy)
326
static void usb_mouse_handle_reset(USBDevice *dev)
327 327
{
328 328
    USBMouseState *s = (USBMouseState *)dev;
329 329

  
330
    if (destroy) {
331
        qemu_add_mouse_event_handler(NULL, NULL, 0);
332
        qemu_free(s);
333
        return;
334
    }
335

  
336 330
    s->dx = 0;
337 331
    s->dy = 0;
338 332
    s->dz = 0;
......
506 500
    return ret;
507 501
}
508 502

  
503
static void usb_mouse_handle_destroy(USBDevice *dev)
504
{
505
    USBMouseState *s = (USBMouseState *)dev;
506

  
507
    qemu_add_mouse_event_handler(NULL, NULL, 0);
508
    qemu_free(s);
509
}
510

  
509 511
USBDevice *usb_tablet_init(void)
510 512
{
511 513
    USBMouseState *s;
......
519 521
    s->dev.handle_reset = usb_mouse_handle_reset;
520 522
    s->dev.handle_control = usb_mouse_handle_control;
521 523
    s->dev.handle_data = usb_mouse_handle_data;
524
    s->dev.handle_destroy = usb_mouse_handle_destroy;
522 525
    s->kind = USB_TABLET;
523 526

  
524 527
    pstrcpy(s->dev.devname, sizeof(s->dev.devname), "QEMU USB Tablet");
......
539 542
    s->dev.handle_reset = usb_mouse_handle_reset;
540 543
    s->dev.handle_control = usb_mouse_handle_control;
541 544
    s->dev.handle_data = usb_mouse_handle_data;
545
    s->dev.handle_destroy = usb_mouse_handle_destroy;
542 546
    s->kind = USB_MOUSE;
543 547

  
544 548
    pstrcpy(s->dev.devname, sizeof(s->dev.devname), "QEMU USB Mouse");

Also available in: Unified diff