Ver Fonte

Mac: Fixed crash if SDL_GetDisplayDPI() got NULL pointers for output parameters.

Philipp Wiesemann há 8 anos atrás
pai
commit
2f016cf88d
1 ficheiros alterados com 9 adições e 3 exclusões
  1. 9 3
      src/video/cocoa/SDL_cocoamodes.m

+ 9 - 3
src/video/cocoa/SDL_cocoamodes.m

@@ -323,9 +323,15 @@ Cocoa_GetDisplayDPI(_THIS, SDL_VideoDisplay * display, float * ddpi, float * hdp
     size_t pixelWidth = CGDisplayPixelsWide(data->display);
     size_t pixelHeight = CGDisplayPixelsHigh(data->display);
 
-    *ddpi = SDL_ComputeDiagonalDPI(pixelWidth, pixelHeight, displaySize.width / MM_IN_INCH, displaySize.height / MM_IN_INCH);
-    *hdpi = pixelWidth * MM_IN_INCH / displaySize.width;
-    *vdpi = pixelHeight * MM_IN_INCH / displaySize.height;
+    if (ddpi) {
+        *ddpi = SDL_ComputeDiagonalDPI(pixelWidth, pixelHeight, displaySize.width / MM_IN_INCH, displaySize.height / MM_IN_INCH);
+    }
+    if (hdpi) {
+        *hdpi = pixelWidth * MM_IN_INCH / displaySize.width;
+    }
+    if (vdpi) {
+        *vdpi = pixelHeight * MM_IN_INCH / displaySize.height;
+    }
 
     return 0;
 }