Differences From Artifact [34eb84dfb7]:
- File
src/OFDictionary.m
— part of check-in
[27d8eb922d]
at
2023-07-15 23:44:25
on branch trunk
— Never set mutationsPtr to self
The Apple runtime can store the retain count in isa, so
retaining/releasing an object would suddenly make it seem like it was
mutated. (user: js, size: 15965) [annotate] [blame] [check-ins using] [more...]
To Artifact [ca10e7bcfe]:
- File src/OFDictionary.m — part of check-in [a6f520157a] at 2023-08-08 15:32:43 on branch trunk — A few minor cleanups (user: js, size: 16048) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
125 126 127 128 129 130 131 | } @end @implementation OFDictionary + (void)initialize { if (self == [OFDictionary class]) | > | | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | } @end @implementation OFDictionary + (void)initialize { if (self == [OFDictionary class]) object_setClass((id)&placeholder, [OFDictionaryPlaceholder class]); } + (instancetype)alloc { if (self == [OFDictionary class]) return (id)&placeholder; |
︙ | ︙ | |||
183 184 185 186 187 188 189 | va_end(arguments); return ret; } - (instancetype)init { | | > | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | va_end(arguments); return ret; } - (instancetype)init { if ([self isMemberOfClass: [OFDictionary class]] || [self isMemberOfClass: [OFMutableDictionary class]]) { @try { [self doesNotRecognizeSelector: _cmd]; } @catch (id e) { [self release]; @throw e; } |
︙ | ︙ |