Differences From Artifact [0576db1a73]:
- File src/OFBlock.m — part of check-in [7a6f696ef3] at 2010-11-12 15:08:31 on branch trunk — Make blocks work with the old Apple ObjC runtime. (user: js, size: 9314) [annotate] [blame] [check-ins using]
To Artifact [86829d5175]:
- File
src/OFBlock.m
— part of check-in
[4285aea3c6]
at
2010-11-12 16:00:09
on branch trunk
— Always use our _Block_copy.
The reason is that the _Block_copy from libSystem references the wrong
_NSConcreteMallocBlock. (user: js, size: 9283) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
128 129 130 131 132 133 134 | struct class _NSConcreteMallocBlock; #else extern void *_NSConcreteStackBlock; extern void *_NSConcreteGlobalBlock; extern void *_NSConcreteMallocBlock; #endif | < | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | struct class _NSConcreteMallocBlock; #else extern void *_NSConcreteStackBlock; extern void *_NSConcreteGlobalBlock; extern void *_NSConcreteMallocBlock; #endif static struct { Class isa; } alloc_failed_exception; void* _Block_copy(const void *block_) { |
︙ | ︙ | |||
244 245 246 247 248 249 250 | obj->byref_dispose(obj); free(obj); } break; } } | < | 243 244 245 246 247 248 249 250 251 252 253 254 255 256 | obj->byref_dispose(obj); free(obj); } break; } } /// \cond internal @implementation OFBlock #if defined(OF_APPLE_RUNTIME) && !defined(__OBJC2__) + (void)load { Class tmp; |
︙ | ︙ |