summaryrefslogtreecommitdiff
path: root/ui/spice-display.c
diff options
context:
space:
mode:
authorYonit Halperin <yhalperi@redhat.com>2011-09-05 17:39:50 +0300
committerGerd Hoffmann <kraxel@redhat.com>2011-09-07 09:20:09 +0200
commit7e79cf4083efa399b43f30edf23434b137fcb197 (patch)
tree2e28bc566cacf4df3027e3a58a291910eab9e43a /ui/spice-display.c
parent40010aea63bb7d507caf24c9ac74c13ece47eec2 (diff)
downloadqemu-7e79cf4083efa399b43f30edf23434b137fcb197.tar.gz
qemu-7e79cf4083efa399b43f30edf23434b137fcb197.tar.bz2
qemu-7e79cf4083efa399b43f30edf23434b137fcb197.zip
spice: set qxl->ssd.running=true before telling spice to start, RHBZ #733993
If qxl->ssd.running=true is set after telling spice to start, the spice server thread can call qxl_send_events while qxl->ssd.running is still false. This leads to assert(d->ssd.running). Signed-off-by: Yonit Halperin <yhalperi@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'ui/spice-display.c')
-rw-r--r--ui/spice-display.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ui/spice-display.c b/ui/spice-display.c
index 498396332c..e38536114b 100644
--- a/ui/spice-display.c
+++ b/ui/spice-display.c
@@ -260,11 +260,12 @@ void qemu_spice_vm_change_state_handler(void *opaque, int running, int reason)
SimpleSpiceDisplay *ssd = opaque;
if (running) {
+ ssd->running = true;
qemu_spice_start(ssd);
} else {
qemu_spice_stop(ssd);
+ ssd->running = false;
}
- ssd->running = running;
}
void qemu_spice_display_init_common(SimpleSpiceDisplay *ssd, DisplayState *ds)