--- hw/qxl.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/hw/qxl.c b/hw/qxl.c index f158d45..b794b2c 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -1245,6 +1245,7 @@ static void ioport_write(void *opaque, uint32_t addr, uint32_t val) qxl_spice_destroy_surface_wait(d, val); break; case QXL_IO_DESTROY_ALL_SURFACES: + d->mode = QXL_MODE_UNDEFINED; qxl_spice_destroy_surfaces(d); break; case QXL_IO_FLUSH_SURFACES: @@ -1302,9 +1303,10 @@ static void ioport_write(void *opaque, uint32_t addr, uint32_t val) async->update_area = d->ram->update_area; async->update_surface = d->ram->update_surface; goto async_common; + case QXL_IO_DESTROY_ALL_SURFACES_ASYNC: + d->mode = QXL_MODE_UNDEFINED; case QXL_IO_NOTIFY_OOM_ASYNC: case QXL_IO_DESTROY_SURFACE_ASYNC: - case QXL_IO_DESTROY_ALL_SURFACES_ASYNC: async = qemu_mallocz(sizeof(*async)); async_common: async->port = io_port; -- 1.7.5.4