qxl: call dpy_gfx_resize when entering vga mode

When entering vga mode the display size likely changes,
notify all displaychangelisteners about this.

Probably went unnoticed for a while as one if the first
things the guest does after leaving qxl native mode and
entering qxl vga mode is to set the vga video mode.  But
there is still a small window where qemu can operate on
stale data, leading to crashes now and then.

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

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Gerd Hoffmann 2012-10-30 14:55:12 +01:00
parent 958c2bceba
commit e32c25b5f2

View File

@ -1069,7 +1069,7 @@ static void qxl_enter_vga_mode(PCIQXLDevice *d)
trace_qxl_enter_vga_mode(d->id); trace_qxl_enter_vga_mode(d->id);
qemu_spice_create_host_primary(&d->ssd); qemu_spice_create_host_primary(&d->ssd);
d->mode = QXL_MODE_VGA; d->mode = QXL_MODE_VGA;
memset(&d->ssd.dirty, 0, sizeof(d->ssd.dirty)); dpy_gfx_resize(d->ssd.ds);
vga_dirty_log_start(&d->vga); vga_dirty_log_start(&d->vga);
} }