diff mbox

[PULL,3/4] spice: don't update mm_time when spice-server is stopped.

Message ID 1432887978-7411-4-git-send-email-kraxel@redhat.com
State New
Headers show

Commit Message

Gerd Hoffmann May 29, 2015, 8:26 a.m. UTC
Skip mm_time updates (in qxl device memory) in case the guest is stopped.
Guest isn't able to look anyway, and it causes problems with migration.

Also make sure the initial state for spice server is stopped.

Reported-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/display/qxl.c | 4 ++++
 ui/spice-core.c  | 1 +
 2 files changed, 5 insertions(+)
diff mbox

Patch

diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index 8f40dfb..b220e2d 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -504,6 +504,10 @@  static void interface_set_mm_time(QXLInstance *sin, uint32_t mm_time)
 {
     PCIQXLDevice *qxl = container_of(sin, PCIQXLDevice, ssd.qxl);
 
+    if (!qemu_spice_display_is_running(&qxl->ssd)) {
+        return;
+    }
+
     trace_qxl_interface_set_mm_time(qxl->id, mm_time);
     qxl->shadow_rom.mm_clock = cpu_to_le32(mm_time);
     qxl->rom->mm_clock = cpu_to_le32(mm_time);
diff --git a/ui/spice-core.c b/ui/spice-core.c
index f00e074..2e8384e 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -804,6 +804,7 @@  void qemu_spice_init(void)
     qemu_spice_audio_init();
 
     qemu_add_vm_change_state_handler(vm_change_state_handler, NULL);
+    qemu_spice_display_stop();
 
     g_free(x509_key_file);
     g_free(x509_cert_file);