Commit 08d49df0 authored by Alberto Garcia's avatar Alberto Garcia Committed by Gerd Hoffmann
Browse files

sdl2: fix crash in handle_windowevent() when restoring the screen size



The Ctrl-Alt-u keyboard shortcut restores the screen to its original
size. In the SDL2 UI this is done by destroying the window and
creating a new one. The old window emits SDL_WINDOWEVENT_HIDDEN when
it's destroyed, but trying to call SDL_GetWindowFromID() from that
event's window ID returns a null pointer. handle_windowevent() assumes
that the pointer is never null so it results in a crash.

Cc: qemu-stable@nongnu.org
Signed-off-by: default avatarAlberto Garcia <berto@igalia.com>
Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent ee09f84e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -521,6 +521,10 @@ static void handle_windowevent(SDL_Event *ev)
{
    struct sdl2_console *scon = get_scon_from_window(ev->window.windowID);

    if (!scon) {
        return;
    }

    switch (ev->window.event) {
    case SDL_WINDOWEVENT_RESIZED:
        {