From 0b2824e5e48a787be3edbfc897244b4621e5bd61 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 4 Nov 2014 13:59:59 +0100 Subject: spice: use bottom half instead of refresh timer for cursor updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Gerd Hoffmann --- include/ui/spice-display.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/ui/spice-display.h b/include/ui/spice-display.h index 4252ab856f..53883a17fc 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); -- cgit v1.2.1