Differences From Artifact [b025a39cbb]:
- File
src/OFArray.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: 17476) [annotate] [blame] [check-ins using] [more...]
To Artifact [baf90bc720]:
- File src/OFArray.m — part of check-in [a6f520157a] at 2023-08-08 15:32:43 on branch trunk — A few minor cleanups (user: js, size: 17548) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
106 107 108 109 110 111 112 | } @end @implementation OFArray + (void)initialize { if (self == [OFArray class]) | | | 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | } @end @implementation OFArray + (void)initialize { if (self == [OFArray class]) object_setClass((id)&placeholder, [OFPlaceholderArray class]); } + (instancetype)alloc { if (self == [OFArray class]) return (id)&placeholder; |
︙ | ︙ | |||
154 155 156 157 158 159 160 | { return [[[self alloc] initWithObjects: objects count: count] autorelease]; } - (instancetype)init { | | > | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | { return [[[self alloc] initWithObjects: objects count: count] autorelease]; } - (instancetype)init { if ([self isMemberOfClass: [OFArray class]] || [self isMemberOfClass: [OFMutableArray class]]) { @try { [self doesNotRecognizeSelector: _cmd]; } @catch (id e) { [self release]; @throw e; } |
︙ | ︙ |