diff options
author | Peter Maydell | 2018-10-29 19:24:11 +0100 |
---|---|---|
committer | Peter Maydell | 2018-10-29 19:24:11 +0100 |
commit | 09ffed7eed62c75b9953555378a4edd79ca1427c (patch) | |
tree | e67da66cc262162ec4c5b571b2d96d74e6f01084 /ui/spice-display.c | |
parent | Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into ... (diff) | |
parent | spice: prepare for upcoming spice-server change (diff) | |
download | qemu-09ffed7eed62c75b9953555378a4edd79ca1427c.tar.gz qemu-09ffed7eed62c75b9953555378a4edd79ca1427c.tar.xz qemu-09ffed7eed62c75b9953555378a4edd79ca1427c.zip |
Merge remote-tracking branch 'remotes/kraxel/tags/ui-20181029-pull-request' into staging
ui: sdl+spice tweaks.
# gpg: Signature made Mon 29 Oct 2018 14:18:21 GMT
# gpg: using RSA key 4CB6D8EED3E87138
# 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>"
# Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138
* remotes/kraxel/tags/ui-20181029-pull-request:
spice: prepare for upcoming spice-server change
SDL: set a hint to not bypass the window compositor
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'ui/spice-display.c')
-rw-r--r-- | ui/spice-display.c | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/ui/spice-display.c b/ui/spice-display.c index 2f8adb6b9f..52f8cb5ae1 100644 --- a/ui/spice-display.c +++ b/ui/spice-display.c @@ -674,10 +674,28 @@ static int interface_client_monitors_config(QXLInstance *sin, memset(&info, 0, sizeof(info)); - head = qemu_console_get_head(ssd->dcl.con); - if (mc->num_of_monitors > head) { - info.width = mc->monitors[head].width; - info.height = mc->monitors[head].height; + if (mc->num_of_monitors == 1) { + /* + * New spice-server version which filters the list of monitors + * to only include those that belong to our display channel. + * + * single-head configuration (where filtering doesn't matter) + * takes this code path too. + */ + info.width = mc->monitors[0].width; + info.height = mc->monitors[0].height; + } else { + /* + * Old spice-server which gives us all monitors, so we have to + * figure ourself which entry we need. Array index is the + * channel_id, which is the qemu console index, see + * qemu_spice_add_display_interface(). + */ + head = qemu_console_get_index(ssd->dcl.con); + if (mc->num_of_monitors > head) { + info.width = mc->monitors[head].width; + info.height = mc->monitors[head].height; + } } trace_qemu_spice_ui_info(ssd->qxl.id, info.width, info.height); |