spice: wakeup QXL worker to pick up mouse changes
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Mon, 30 Jan 2017 10:45:40 +0000 (14:45 +0400)
committerGerd Hoffmann <kraxel@redhat.com>
Tue, 31 Jan 2017 07:50:21 +0000 (08:50 +0100)
Without it, server-mode mouse is "slow" to update position: QXL will
wait until new display commands come. This is very visible with
virtio-gpu.

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

index 5e6f78a2191b18c7c96e7b066a024e9cdbad2269..64e472eeb0e782592608c2444106bb9733eb8899 100644 (file)
@@ -769,6 +769,7 @@ static void display_mouse_set(DisplayChangeListener *dcl,
     g_free(ssd->ptr_move);
     ssd->ptr_move = qemu_spice_create_cursor_update(ssd, NULL, on);
     qemu_mutex_unlock(&ssd->lock);
+    qemu_spice_wakeup(ssd);
 }
 
 static void display_mouse_define(DisplayChangeListener *dcl,
@@ -787,6 +788,7 @@ static void display_mouse_define(DisplayChangeListener *dcl,
     g_free(ssd->ptr_define);
     ssd->ptr_define = qemu_spice_create_cursor_update(ssd, c, 0);
     qemu_mutex_unlock(&ssd->lock);
+    qemu_spice_wakeup(ssd);
 }
 
 static const DisplayChangeListenerOps display_listener_ops = {