diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2014-12-16 16:52:42 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2014-12-16 16:52:42 +0000 |
commit | d86fb03469e016af4e54f04efccbc20a8afa3e19 (patch) | |
tree | e2ae752bb9f153fbb287df7b7edd64f523cba2c9 /hw/display/qxl.c | |
parent | 4db753b1ac4aedc6cd67fb13d50e5015ce8052a5 (diff) | |
parent | a41642708a5d1cbe8ad966227bbee1ed5eb421ad (diff) | |
download | hqemu-d86fb03469e016af4e54f04efccbc20a8afa3e19.zip hqemu-d86fb03469e016af4e54f04efccbc20a8afa3e19.tar.gz |
Merge remote-tracking branch 'remotes/spice/tags/pull-spice-20141216-1' into staging
misc spice updates.
# gpg: Signature made Tue 16 Dec 2014 14:03:07 GMT using RSA key ID D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
# gpg: aka "Gerd Hoffmann <gerd@kraxel.org>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
* remotes/spice/tags/pull-spice-20141216-1:
spice: fix memory leak
spice: remove spice-experimental.h include
spice: do not require TCP ports
spice: rework mirror allocation, add no-resize fast path
spice: reduce refresh rate in native mode
spice: use bottom half instead of refresh timer for cursor updates
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/display/qxl.c')
-rw-r--r-- | hw/display/qxl.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/hw/display/qxl.c b/hw/display/qxl.c index b540dd6..61df477 100644 --- a/hw/display/qxl.c +++ b/hw/display/qxl.c @@ -1092,6 +1092,7 @@ static void qxl_enter_vga_mode(PCIQXLDevice *d) spice_qxl_driver_unload(&d->ssd.qxl); #endif graphic_console_set_hwops(d->ssd.dcl.con, d->vga.hw_ops, &d->vga); + update_displaychangelistener(&d->ssd.dcl, GUI_REFRESH_INTERVAL_DEFAULT); qemu_spice_create_host_primary(&d->ssd); d->mode = QXL_MODE_VGA; vga_dirty_log_start(&d->vga); @@ -1105,6 +1106,7 @@ static void qxl_exit_vga_mode(PCIQXLDevice *d) } trace_qxl_exit_vga_mode(d->id); graphic_console_set_hwops(d->ssd.dcl.con, &qxl_ops, d); + update_displaychangelistener(&d->ssd.dcl, GUI_REFRESH_INTERVAL_IDLE); vga_dirty_log_stop(&d->vga); qxl_destroy_primary(d, QXL_SYNC); } @@ -1153,6 +1155,7 @@ static void qxl_soft_reset(PCIQXLDevice *d) qxl_enter_vga_mode(d); } else { d->mode = QXL_MODE_UNDEFINED; + update_displaychangelistener(&d->ssd.dcl, GUI_REFRESH_INTERVAL_IDLE); } } @@ -1861,10 +1864,6 @@ static void display_refresh(DisplayChangeListener *dcl) if (qxl->mode == QXL_MODE_VGA) { qemu_spice_display_refresh(&qxl->ssd); - } else { - qemu_mutex_lock(&qxl->ssd.lock); - qemu_spice_cursor_refresh_unlocked(&qxl->ssd); - qemu_mutex_unlock(&qxl->ssd.lock); } } @@ -2025,6 +2024,7 @@ static int qxl_init_common(PCIQXLDevice *qxl) qxl_reset_state(qxl); qxl->update_area_bh = qemu_bh_new(qxl_render_update_area_bh, qxl); + qxl->ssd.cursor_bh = qemu_bh_new(qemu_spice_cursor_refresh_bh, &qxl->ssd); return 0; } |