Explorar o código

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

Sam Lantinga %!s(int64=2) %!d(string=hai) anos
pai
achega
432af82a88
Modificáronse 2 ficheiros con 3 adicións e 4 borrados
  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);
 }