qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] qxl: make sure we don't have a stale ds_mirror hang


From: Gerd Hoffmann
Subject: [Qemu-devel] [PATCH] qxl: make sure we don't have a stale ds_mirror hanging around
Date: Thu, 1 Nov 2012 13:24:55 +0100

ui/spice-display.c uses ds_mirror to figure which screen areas did
actually change.  This is active when the qxl card is in vga mode or a
non-qxl gfx card is used.  A display resize invalidates ds_mirror, and
it is handled by simply simply freeing ds_mirror.  The next screen
update it will be re-allocated as needed.

With qxl there is another possible code path which can invalidate
ds_mirror:  leave vga mode and re-enter vga mode.  Make sure we free
ds_mirror here too.

https://bugzilla.redhat.com/show_bug.cgi?id=865767

Signed-off-by: Gerd Hoffmann <address@hidden>
---
 hw/qxl.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/hw/qxl.c b/hw/qxl.c
index dfb221a..f25c89d 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -1070,6 +1070,8 @@ static void qxl_enter_vga_mode(PCIQXLDevice *d)
     qemu_spice_create_host_primary(&d->ssd);
     d->mode = QXL_MODE_VGA;
     memset(&d->ssd.dirty, 0, sizeof(d->ssd.dirty));
+    g_free(d->ssd.ds_mirror);
+    d->ssd.ds_mirror = NULL;
     vga_dirty_log_start(&d->vga);
 }
 
-- 
1.7.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]