ui: sdl+spice tweaks.

-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQIcBAABAgAGBQJb1xatAAoJEEy22O7T6HE4vmQP/1iGJ/Y3aPeAiZc4kV4ePVeK
 uFNkPGHiQJigNFxPnkUXtRmZPz9vVKX50uxFK7Zv6ZniEC8bxz2iC/OMoP7bDQ2D
 /Eieijxb3sBATlf4S9llH2Mo1QVrRVbzIKtdH7nB1MqH6r0xkZJkODq+UHVz+iNm
 inq2IsQYtJBU3W2xO8zsVdxAGsZJNanbfKnfisQ6Yn26l7ZTNIKnpXNc5scPDw4d
 fXRpWd1c6T+KI897i+dlU7kxPxvX/5nUextIDBwdwcvdUVaEHFqmIbdpNGPjHg7Y
 z9iLt8iika95twVaj5XGr4RC5VLPAXb+phJhipKulOrCwkyUZR4hlPigkd1DI2GS
 WhlBi5Lpp5LFOtsbg8Ffx9Si7oz3GDyMF0Em5XtWxxhtikr2wvnDtXrXa5FLGgHu
 FM8BCMCamoGRX0Fw1AeZhsQNQM0Ij7NSNmC5YyQj8/tPdHKdfo5B0Eba2bXjczKc
 dL0+3lOk4Z62Sxv5ZrP0oxKENLp2ebteBBucCi1NNBGntrbXQQrC7UAxi1FdxQX2
 CF80KU7oHAxa70oiSuh8qSJJ0GwsreUVhoDCbz4yO5iczLyfF3lOze6P2XDDabIN
 KdQLgTWFo0myMo4VAvgKZ8ksvAk9nBfnsbNFG6EtaPYIOPNbtt1FxV1Ts2xoPRv2
 QFNdrvhfxqMkNW8IoQDX
 =AG7L
 -----END PGP SIGNATURE-----

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>
This commit is contained in:
Peter Maydell 2018-10-29 18:24:11 +00:00
commit 09ffed7eed
2 changed files with 25 additions and 4 deletions

View File

@ -786,6 +786,9 @@ static void sdl2_display_init(DisplayState *ds, DisplayOptions *o)
SDL_GetError());
exit(1);
}
#ifdef SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR /* only available since SDL 2.0.8 */
SDL_SetHint(SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR, "0");
#endif
SDL_SetHint(SDL_HINT_GRAB_KEYBOARD, "1");
memset(&info, 0, sizeof(info));
SDL_VERSION(&info.version);

View File

@ -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);