diff --git a/src/events/SDL_windowevents.c b/src/events/SDL_windowevents.c index d50e75e964..be5373e2f2 100644 --- a/src/events/SDL_windowevents.c +++ b/src/events/SDL_windowevents.c @@ -46,6 +46,9 @@ int SDL_SendWindowEvent(SDL_Window *window, SDL_EventType windowevent, if (window == NULL) { return 0; } + if (window->is_destroying) { + return 0; + } switch (windowevent) { case SDL_EVENT_WINDOW_SHOWN: if (!(window->flags & SDL_WINDOW_HIDDEN)) { diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c index d23f0a6687..3f2e2f5263 100644 --- a/src/video/SDL_video.c +++ b/src/video/SDL_video.c @@ -3001,10 +3001,6 @@ void SDL_CheckWindowDisplayChanged(SDL_Window *window) { int display_index; - if (window->is_destroying) { - return; - } - display_index = SDL_GetWindowDisplayIndex(window); SDL_SendWindowEvent(window, SDL_EVENT_WINDOW_DISPLAY_CHANGED, display_index, 0); }