瀏覽代碼

cocoa: Don't crash if moving a message box created before SDL_Init.

Fixes #5928.
Ryan C. Gordon 4 年之前
父節點
當前提交
218c3dbb34
共有 1 個文件被更改,包括 6 次插入0 次删除
  1. 6 0
      src/video/cocoa/SDL_cocoamouse.m

+ 6 - 0
src/video/cocoa/SDL_cocoamouse.m

@@ -400,6 +400,12 @@ Cocoa_HandleTitleButtonEvent(_THIS, NSEvent *event)
     SDL_Window *window;
     SDL_Window *window;
     NSWindow *nswindow = [event window];
     NSWindow *nswindow = [event window];
 
 
+    /* You might land in this function before SDL_Init if showing a message box.
+       Don't derefence a NULL pointer if that happens. */
+    if (_this == NULL) {
+        return;
+    }
+
     for (window = _this->windows; window; window = window->next) {
     for (window = _this->windows; window; window = window->next) {
         SDL_WindowData *data = (__bridge SDL_WindowData *)window->driverdata;
         SDL_WindowData *data = (__bridge SDL_WindowData *)window->driverdata;
         if (data && data.nswindow == nswindow) {
         if (data && data.nswindow == nswindow) {