From 97e646c60d68dccc5aa9a2e74c5168589b3dbbb8 Mon Sep 17 00:00:00 2001 From: dbj Date: Thu, 23 Apr 2015 06:47:56 +0000 Subject: avoid obsolete darwin api for CGDisplayBitsPerPixel use CGDisplayModeCopyPixelEncoding instead --- math/octave/patches/patch-src_display.cc | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 math/octave/patches/patch-src_display.cc (limited to 'math/octave') diff --git a/math/octave/patches/patch-src_display.cc b/math/octave/patches/patch-src_display.cc new file mode 100644 index 00000000000..fc7b0face54 --- /dev/null +++ b/math/octave/patches/patch-src_display.cc @@ -0,0 +1,25 @@ +$NetBSD: patch-src_display.cc,v 1.1 2015/04/23 06:47:56 dbj Exp $ + +CGDisplayBitsPerPixel is only good on osx 10.5 or earlier. +CGDisplayModeCopyPixelEncoding should work on 10.6 and later. + +--- src/display.cc.orig 2013-02-21 20:19:24.000000000 +0000 ++++ src/display.cc +@@ -72,7 +72,16 @@ display_info::init (bool query) + + if (display) + { +- dp = CGDisplayBitsPerPixel (display); ++ CGDisplayModeRef mode = CGDisplayCopyDisplayMode (display); ++ CFStringRef pixelEncoding = CGDisplayModeCopyPixelEncoding(mode); ++ CFRelease(mode); ++ if (CFStringCompare (pixelEncoding, CFSTR (IO32BitDirectPixels), 0) == 0) ++ dp = 32; ++ else if (CFStringCompare (pixelEncoding, CFSTR (IO16BitDirectPixels), 0) == 0) ++ dp = 16; ++ else ++ dp = 8; // Unknown pixel encoding (probably not really depth 8) ++ CFRelease(pixelEncoding); + + ht = CGDisplayPixelsHigh (display); + wd = CGDisplayPixelsWide (display); -- cgit v1.2.3