From b64f74bbed04e166859ced2929d5d73e07808a63 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 19 Nov 2013 07:16:04 -0700 Subject: [PATCH] racket/gui cocoa: fix for Mac OS X before 10.7 I forgot to guard a NSScreen method called for Retina support with a version check. --- .../gui-lib/mred/private/wx/cocoa/dc.rkt | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/pkgs/gui-pkgs/gui-lib/mred/private/wx/cocoa/dc.rkt b/pkgs/gui-pkgs/gui-lib/mred/private/wx/cocoa/dc.rkt index ec8b8effad..fd8e2eb0da 100644 --- a/pkgs/gui-pkgs/gui-lib/mred/private/wx/cocoa/dc.rkt +++ b/pkgs/gui-pkgs/gui-lib/mred/private/wx/cocoa/dc.rkt @@ -110,20 +110,22 @@ (tellv ctx restoreGraphicsState))) (define (display-bitmap-resolution num fail) - (let ([r (atomically - (with-autorelease - (let ([s (if (zero? num) - (tell NSScreen mainScreen) - (let ([screens (tell NSScreen screens)]) - (if (num . < . (tell #:type _NSUInteger screens count)) - (tell screens objectAtIndex: #:type _NSUInteger num) - #f)))]) - (and s - (tell #:type _CGFloat s backingScaleFactor)))))]) - (cond - [(not r) (fail)] - [(zero? r) 1.0] - [else r]))) + (if (version-10.7-or-later?) + (let ([r (atomically + (with-autorelease + (let ([s (if (zero? num) + (tell NSScreen mainScreen) + (let ([screens (tell NSScreen screens)]) + (if (num . < . (tell #:type _NSUInteger screens count)) + (tell screens objectAtIndex: #:type _NSUInteger num) + #f)))]) + (and s + (tell #:type _CGFloat s backingScaleFactor)))))]) + (cond + [(not r) (fail)] + [(zero? r) 1.0] + [else r])) + 1.0)) (define/top (make-screen-bitmap [exact-positive-integer? w] [exact-positive-integer? h])