瀏覽代碼

Fix crash in SDL_UpdateFullscreenMode calling SetWindowFullscreen with a null display

- This mirrors the check above for fullscreen=true in the unlikely case where there is no primary display detected
Sam Lantinga 1 年之前
父節點
當前提交
d4794cc714
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      src/video/SDL_video.c

+ 4 - 1
src/video/SDL_video.c

@@ -1765,7 +1765,10 @@ int SDL_UpdateFullscreenMode(SDL_Window *window, SDL_bool fullscreen, SDL_bool c
         if (commit) {
             int ret = 0;
             if (_this->SetWindowFullscreen) {
-                ret = _this->SetWindowFullscreen(_this, window, display ? display : SDL_GetVideoDisplayForFullscreenWindow(window), SDL_FALSE);
+                SDL_VideoDisplay *full_screen_display = display ? display : SDL_GetVideoDisplayForFullscreenWindow(window);
+                if (full_screen_display) {
+                    ret = _this->SetWindowFullscreen(_this, window, full_screen_display, SDL_FALSE);
+                }
             } else {
                 resized = SDL_TRUE;
             }