[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: NSControls failing to set status/label on BigEndian/64bit
From: |
Wolfgang Lux |
Subject: |
Re: NSControls failing to set status/label on BigEndian/64bit |
Date: |
Thu, 7 Jan 2021 18:12:25 +0100 |
Am 07.01.2021 um 14:33 schrieb Riccardo Mottola <riccardo.mottola@libero.it>:
>
> Hi all,
>
>
> Wolfgang Lux wrote:
>> Yes. Changing the type you pass to the {en,de}codeValueOfObjCType methods is
>> a, errm, not so bright idea. The types are included in the binary archives.
>> So, trying to decode a value with a different type will give you an error
>> (for your own safety and sanity). Trying to encode values with a different
>> type is even worse, as you would be creating archives that cannot be read by
>> anybody else (because they are expecting some other type). If you (have to)
>> make such changes, be sure to introduce a new archive version and be sure to
>> include backward compatibility code for reading the old archive format.
>
> I had a call with Gregory yesterday.. since this is a delciate subject I made
> a branch with a proposed initial change (as I have other controls failing, it
> will not be the conly class affected either)
>
> BE-64-Fixes
>
> What do you think?
I think that introducing a new archive format to address the issue with the
_highlightsByMask and _altStateMask attributes is a bit over the top. Either
decoding the attributes as NSUInteger values as Fred mentioned or decoding them
as unsigned int into a temporary variable and then copying the values from
those temporary variable into the respective attribute would do. BTW, I don't
consider the latter a hack. It's a perfectly sane solution for dealing with
backward compatible archives.
Wolfgang
- Re: NSControls failing to set status/label on BigEndian/64bit, (continued)
- 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
- Re: NSControls failing to set status/label on BigEndian/64bit, Riccardo Mottola, 2021/01/07
- Re: NSControls failing to set status/label on BigEndian/64bit, Riccardo Mottola, 2021/01/07
- Re: NSControls failing to set status/label on BigEndian/64bit, Fred Kiefer, 2021/01/07
- Re: NSControls failing to set status/label on BigEndian/64bit,
Wolfgang Lux <=
- Re: NSControls failing to set status/label on BigEndian/64bit, Richard Frith-Macdonald, 2021/01/07
- Re: NSControls failing to set status/label on BigEndian/64bit, Richard Frith-Macdonald, 2021/01/07
- Re: NSControls failing to set status/label on BigEndian/64bit, Riccardo Mottola, 2021/01/07
- Re: NSControls failing to set status/label on BigEndian/64bit, Fred Kiefer, 2021/01/08
- Re: NSControls failing to set status/label on BigEndian/64bit, Riccardo Mottola, 2021/01/06