]> Git Repo - qemu.git/commitdiff
sdl2: fix crash in handle_windowevent() when restoring the screen size
authorAlberto Garcia <[email protected]>
Mon, 8 Jun 2015 09:12:15 +0000 (11:12 +0200)
committerGerd Hoffmann <[email protected]>
Tue, 9 Jun 2015 08:25:21 +0000 (10:25 +0200)
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: [email protected]
Signed-off-by: Alberto Garcia <[email protected]>
Signed-off-by: Gerd Hoffmann <[email protected]>
ui/sdl2.c

index 2d601798ea2751f9ddbffb7b0118060e546bfd95..5cb75aa364090aa5f1c90d3c8cea422c3c1ce548 100644 (file)
--- a/ui/sdl2.c
+++ b/ui/sdl2.c
@@ -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:
         {
This page took 0.025918 seconds and 4 git commands to generate.