|
From: | Riccardo Mottola |
Subject: | Re: NSControls failing to set status/label on BigEndian/64bit |
Date: | Tue, 5 Jan 2021 01:28:43 +0100 |
User-agent: | Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 SeaMonkey/2.53.5.1 |
Hi, Fred Kiefer wrote:
thank you for pointing out this issue. As I don’t have a Bigendian 64 bit system you will have to do the testing to pin this down. First I would propose that you add a few NSLog statements in NSButtonCell.m after line 1773. Most likely the data is not aligned in the unsigned int in the way the code expects it to be. The structure _GSButtonCellFlags is defined in GSCodingFlags.h and the code expects it to have 32 bits.
for a moment, I thought the "state" could not be correct: since not only buttons (but let's not forget also popupmenus and some fields) do not display correctly, but even if I change the state by clicking they don't correct, so it is not only an init problem of the state.
I put some NSLogs in NSCell.m in setState: and the state is correctly set and toggled.
I then put my attention in drawInteriorWithFrame of NSButtonCellline 1094, after the mask is calculated, do you expect it to be always 0, both for on and off state? It is always 0 for me.
Riccardo Riccardo
[Prev in Thread] | Current Thread | [Next in Thread] |