aboutsummaryrefslogtreecommitdiff
path: root/include/ui/spice-display.h
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2014-11-04 13:59:59 +0100
committerGerd Hoffmann <kraxel@redhat.com>2014-12-16 14:15:29 +0100
commit0b2824e5e48a787be3edbfc897244b4621e5bd61 (patch)
tree5fcabf22c523190cf19655638eeb327370d46308 /include/ui/spice-display.h
parentdfa9c2a0f4d0a0c8b2c1449ecdbb1297427e1560 (diff)
downloadqemu-0b2824e5e48a787be3edbfc897244b4621e5bd61.zip
qemu-0b2824e5e48a787be3edbfc897244b4621e5bd61.tar.gz
qemu-0b2824e5e48a787be3edbfc897244b4621e5bd61.tar.bz2
spice: use bottom half instead of refresh timer for cursor updates
Calling directly doesn't work due to the qxl-render code running in spice server thread context. Meanwhile bottom half scheduling is thread-safe though, so we can use that to kick a cursor update in main i/o thread context. Cc: Marc-André Lureau <marcandre.lureau@gmail.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'include/ui/spice-display.h')
-rw-r--r--include/ui/spice-display.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/ui/spice-display.h b/include/ui/spice-display.h
index 4252ab8..53883a1 100644
--- a/include/ui/spice-display.h
+++ b/include/ui/spice-display.h
@@ -102,6 +102,7 @@ struct SimpleSpiceDisplay {
/* cursor (with qxl): qxl local renderer -> displaychangelistener */
QEMUCursor *cursor;
int mouse_x, mouse_y;
+ QEMUBH *cursor_bh;
};
struct SimpleSpiceUpdate {
@@ -134,7 +135,7 @@ void qemu_spice_display_update(SimpleSpiceDisplay *ssd,
void qemu_spice_display_switch(SimpleSpiceDisplay *ssd,
DisplaySurface *surface);
void qemu_spice_display_refresh(SimpleSpiceDisplay *ssd);
-void qemu_spice_cursor_refresh_unlocked(SimpleSpiceDisplay *ssd);
+void qemu_spice_cursor_refresh_bh(void *opaque);
void qemu_spice_add_memslot(SimpleSpiceDisplay *ssd, QXLDevMemSlot *memslot,
qxl_async_io async);