tree 26d2128d5054387a6de13d95dee427fd4bb64bac
parent 3a25554bb05bdac8e1d271ab961fd6d0299db121
author Sam Lantinga <slouken@libsdl.org> 1542692159 -0800
committer Sam Lantinga <slouken@libsdl.org> 1542692159 -0800

Fixed bug 4394 - Crash in SDL_PumpEvents() after SDL_DestroyWindow()

Cameron Gutman

After updating to SDL 2.0.9, I got a user report that my app was crashing when closing a SDL_WINDOW_FULLSCREEN window to return to my Qt-based UI. It looks like the dead SDL window is getting a spurious updateLayer call which is causing SDL to dereference a null SDL_WindowData pointer.

For some reason, this only happens when using SDL_WINDOW_FULLSCREEN and not windowed or SDL_WINDOW_FULLSCREEN_DESKTOP. I was also unsuccessful in my attempt to get a simple reproducer for this crash. The Session.cpp code is available https://github.com/moonlight-stream/moonlight-qt/blob/688c4a90d994aa23e7b0af3ffcbb8707886db780/app/streaming/session.cpp but I slightly modified it (adding a SDL_PumpEvents() call at 1179 to immediately trigger the issue, otherwise it happened when Qt next pumped the event loop).

The crashing line is:

    NSMutableArray *contexts = data->nscontexts;
