Subject: bug#3207: 23.0.93; x-display-planes is incorrect in NS port

From: David Reitter <[email-masked]>
Date: Sun, 10 May 2009 18:11:53 -0400

On May 10, 2009, at 5:53 PM, Chong Yidong wrote:

> Adrian, could you take a look at this bug?  Can you reproduce it?
>
>
> Ian Eure <[email-masked]> wrote:
>
>> When starting up NextStep Emacs compiled from CVS HEAD, the old XPM
>> splash image is used, rather than the new PNG.
>>
>> This appears to be caused by (display-planes) reporting an eight- 
>> plane
>> display. This is almost certainly incorrect.
>>
>> Looking deeper, (display-planes) calls (x-display-planes), in  
>> nsfns.m.
>> I don’t see anything obviously wrong, but it’s reporting that I have
>> an 8-plane display when it’s 24-plane. Evaluating (x-display-color-
>> cells) produces the correct value: 16777216, indicating a 24-bit
>> display.

Yeah, the x-display-planes implementation in nsfns.m should use  
NSBitsPerPixelFromDepth.
It reports 8 because this is 8 bits per color, and we have three  
colors.  Hence 24bit color depth.

- David

diff --git a/src/nsfns.m b/src/nsfns.m
index a6fb7f1..8b5c330 100644
--- a/src/nsfns.m
+++ b/src/nsfns.m
@@ -2486,7 +2486,7 @@ If omitted or nil, that stands for the selected  
frame's display.  */)
  {
    check_ns ();
    return make_number
-    (NSBitsPerSampleFromDepth ([ns_get_screen (display) depth]));
+    (NSBitsPerPixelFromDepth ([ns_get_screen (display) depth]));
  }