diff --git a/hw/display/qxl.c b/hw/display/qxl.c index af4c0ca00242c1dd47a321dc45b9e600e7ff3460..0d02f0efe66518eaa259e4a95b839b6b43765aa9 100644 --- a/hw/display/qxl.c +++ b/hw/display/qxl.c @@ -477,6 +477,11 @@ static int qxl_track_command(PCIQXLDevice *qxl, struct QXLCommandExt *ext) qxl->guest_cursor = ext->cmd.data; qemu_mutex_unlock(&qxl->track_lock); } + if (cmd->type == QXL_CURSOR_HIDE) { + qemu_mutex_lock(&qxl->track_lock); + qxl->guest_cursor = 0; + qemu_mutex_unlock(&qxl->track_lock); + } break; } }