Browse Source

Don't deliver window events while it's being destroyed

Sam Lantinga 2 years ago
parent
commit
432af82a88
2 changed files with 3 additions and 4 deletions
  1. 3 0
      src/events/SDL_windowevents.c
  2. 0 4
      src/video/SDL_video.c

+ 3 - 0
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)) {

+ 0 - 4
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);
 }