Commit 2f016cf88d96f10320cff49ca128f9519380c6ba

Philipp Wiesemann 2016-06-26T21:08:57

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

diff --git a/src/video/cocoa/SDL_cocoamodes.m b/src/video/cocoa/SDL_cocoamodes.m
index 6d29c6b..6df1e49 100644
--- a/src/video/cocoa/SDL_cocoamodes.m
+++ b/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;
 }