Commit 09ffed7e authored by Peter Maydell's avatar Peter Maydell
Browse files

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: default avatarPeter Maydell <peter.maydell@linaro.org>
parents 62b658db 9c956e64
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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);
+22 −4
Original line number Diff line number Diff line
@@ -674,11 +674,29 @@ 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 == 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);
    dpy_set_ui_info(ssd->dcl.con, &info);