[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: NSControls failing to set status/label on BigEndian/64bit
From: |
Riccardo Mottola |
Subject: |
Re: NSControls failing to set status/label on BigEndian/64bit |
Date: |
Wed, 06 Jan 2021 00:06:36 +0000 |
User-agent: |
GNUMail (Version 1.3.0) |
Hi Fred,
On 2021-01-05 08:07:59 +0000 Fred Kiefer <fredkiefer@gmx.de> wrote:
line 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.
As you can see a few lines above the value of mask depends on
_cell.is_highlighted and _cell.state. You should output these two
values as
well. Next it could be either _highlightsByMask or _showAltStateMask.
Sou you
need to check these values as well. If they are zero you should go
back to
the decoding method and see wether these values get decoded
correctly. The
best way to check is to do the same on a 32 bit or 64 little endian
system
and compare the results. Form files should decode the same for both
systems.
It looks totally different, this is what I see on amd64:
2021-01-05 23:15:22.654 Ink[2501:123181007659016] is highlghted 0 -
state 0 - altStateMask 0 - highlightByMask 6
2021-01-05 23:15:22.683 Ink[2501:123181007659016] is highlghted 0 -
state 0 - altStateMask 0 - highlightByMask 6
2021-01-05 23:15:22.746 Ink[2501:123181007659016] is highlghted 0 -
state 0 - altStateMask 0 - highlightByMask 6
2021-01-05 23:15:31.179 Ink[2501:123181007659016] is highlghted 0 -
state 0 - altStateMask 0 - highlightByMask 6
2021-01-05 23:15:31.180 Ink[2501:123181007659016] is highlghted 0 -
state 0 - altStateMask 0 - highlightByMask 6
2021-01-05 23:15:31.181 Ink[2501:123181007659016] is highlghted 0 -
state 0 - altStateMask 0 - highlightByMask 6
2021-01-05 23:15:31.182 Ink[2501:123181007659016] is highlghted 0 -
state 0 - altStateMask 0 - highlightByMask 6
2021-01-05 23:15:31.182 Ink[2501:123181007659016] is highlghted 0 -
state 0 - altStateMask 0 - highlightByMask 6
2021-01-05 23:15:31.187 Ink[2501:123181007659016] is highlghted 0 -
state 1 - altStateMask 1 - highlightByMask 1
2021-01-05 23:15:31.191 Ink[2501:123181007659016] is highlghted 0 -
state 1 - altStateMask 0 - highlightByMask 1
2021-01-05 23:15:31.195 Ink[2501:123181007659016] is highlghted 0 -
state 1 - altStateMask 1 - highlightByMask 1
This on PPC64
2021-01-06 00:12:47.720 Ink[48256:48256] is highlghted 0 - state 0 -
altStateMask 0 - highlightByMask 0
2021-01-06 00:12:47.722 Ink[48256:48256] is highlghted 0 - state 0 -
altStateMask 0 - highlightByMask 0
2021-01-06 00:12:47.724 Ink[48256:48256] is highlghted 0 - state 0 -
altStateMask 0 - highlightByMask 0
2021-01-06 00:12:47.727 Ink[48256:48256] is highlghted 0 - state 0 -
altStateMask 0 - highlightByMask 0
2021-01-06 00:12:47.729 Ink[48256:48256] is highlghted 0 - state 0 -
altStateMask 0 - highlightByMask 0
2021-01-06 00:12:47.792 Ink[48256:48256] is highlghted 0 - state 0 -
altStateMask 1 - highlightByMask 0
2021-01-06 00:12:47.862 Ink[48256:48256] is highlghted 0 - state 0 -
altStateMask 0 - highlightByMask 0
2021-01-06 00:12:47.866 Ink[48256:48256] is highlghted 0 - state 0 -
altStateMask 1 - highlightByMask 0
we see indeed state is always zero and the highlightByMask too....
Where is it decoded?
However, look here, if I toggle a checkbox on ppc64:
2021-01-06 00:26:48.328 Ink[48271:48271] is highlghted 1 - state 0 -
altStateMask 1 - highlightByMask 0
2021-01-06 00:26:48.364 Ink[48271:48271] NSOffState
2021-01-06 00:26:48.366 Ink[48271:48271] is highlghted 0 - state 0 -
altStateMask 0 - highlightByMask 0
2021-01-06 00:27:03.385 Ink[48271:48271] is highlghted 1 - state 0 -
altStateMask 0 - highlightByMask 0
2021-01-06 00:27:03.411 Ink[48271:48271] NSOnState
2021-01-06 00:27:03.414 Ink[48271:48271] is highlghted 0 - state 0 -
altStateMask 1 - highlightByMask 0
the state never changes... only the altStateMask!
The same on amd64
2021-01-05 23:31:34.188 Ink[8573:132194998521864] is highlghted 1 -
state 1 - altStateMask 1 - highlightByMask 1
2021-01-05 23:31:34.300 Ink[8573:132194998521864] is highlghted 0 -
state 1 - altStateMask 0 - highlightByMask 1
2021-01-05 23:31:36.416 Ink[8573:132194998521864] is highlghted 1 -
state 1 - altStateMask 0 - highlightByMask 1
2021-01-05 23:31:36.476 Ink[8573:132194998521864] is highlghted 0 -
state 1 - altStateMask 1 - highlightByMask 1
there "state" is always true and highlighted toggles. I would
concentrate on cell state thus, but highlightByMask is also the
opposite.
In NSButtonCell it is never set.
How can it not change with the explicit set state I traced in NSCell?
I noticed this in NSCell. like 2583:
[aCoder encodeValueOfObjCType: @encode(unsigned int) at:
&tmp_int];
// FIXME: State may be -1, why do we encode it as unsigned?
tmp_int = _cell.state;
But this code is not used. However, of course, the non keyed version
is used, line 2764
2021-01-06 01:01:57.427 Ink[52733:52733] NSCell initWithCoder tmp_int:
1 state 1
2021-01-06 01:01:57.427 Ink[52733:52733] NSCell initWithCoder tmp_int:
1 state 1
2021-01-06 01:01:57.428 Ink[52733:52733] NSCell initWithCoder tmp_int:
0 state 0
2021-01-06 01:01:57.438 Ink[52733:52733] NSCell initWithCoder tmp_int:
0 state 0
Here it looks that sometimes the state is decoded to true!... so it
looks it gets lost?
Riccardo
RIccardo
- NSControls failing to set status/label on BigEndian/64bit, Riccardo Mottola, 2021/01/03
- Re: NSControls failing to set status/label on BigEndian/64bit, Fred Kiefer, 2021/01/03
- Re: NSControls failing to set status/label on BigEndian/64bit, Riccardo Mottola, 2021/01/04
- Re: NSControls failing to set status/label on BigEndian/64bit, Riccardo Mottola, 2021/01/04
- Re: NSControls failing to set status/label on BigEndian/64bit, Fred Kiefer, 2021/01/05
- Re: NSControls failing to set status/label on BigEndian/64bit,
Riccardo Mottola <=
- Re: NSControls failing to set status/label on BigEndian/64bit, Fred Kiefer, 2021/01/06
- Re: NSControls failing to set status/label on BigEndian/64bit, Riccardo Mottola, 2021/01/06
- Re: NSControls failing to set status/label on BigEndian/64bit, Fred Kiefer, 2021/01/06
- Re: NSControls failing to set status/label on BigEndian/64bit, Wolfgang Lux, 2021/01/06
- Re: NSControls failing to set status/label on BigEndian/64bit, Wolfgang Lux, 2021/01/06
- Re: NSControls failing to set status/label on BigEndian/64bit, Fred Kiefer, 2021/01/06
- Re: NSControls failing to set status/label on BigEndian/64bit, Riccardo Mottola, 2021/01/06
- Re: NSControls failing to set status/label on BigEndian/64bit, Wolfgang Lux, 2021/01/06
- Re: NSControls failing to set status/label on BigEndian/64bit, Fred Kiefer, 2021/01/06
- Re: NSControls failing to set status/label on BigEndian/64bit, Wolfgang Lux, 2021/01/07