From e7ab10611f35a85632f90902a4ebac4edf32e67f Mon Sep 17 00:00:00 2001 From: theraven Date: Sun, 19 Aug 2012 09:17:12 +0000 Subject: [PATCH] ARC fix for blocks. --- arc.m | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arc.m b/arc.m index b8c6d7c..9b95c2f 100644 --- a/arc.m +++ b/arc.m @@ -17,6 +17,7 @@ pthread_key_t ARCThreadKey; #endif extern void _NSConcreteMallocBlock; +extern void _NSConcreteStackBlock; extern void _NSConcreteGlobalBlock; @interface NSAutoreleasePool @@ -167,7 +168,8 @@ static inline id retain(id obj) { if (isSmallObject(obj)) { return obj; } Class cls = obj->isa; - if ((Class)&_NSConcreteMallocBlock == cls) + if ((Class)&_NSConcreteMallocBlock == cls || + (Class)&_NSConcreteStackBlock == cls) { return Block_copy(obj); }