diff --git a/Source/NSGarbageCollector.m b/Source/NSGarbageCollector.m index 624c66411..b6b61cf8a 100644 --- a/Source/NSGarbageCollector.m +++ b/Source/NSGarbageCollector.m @@ -33,12 +33,23 @@ static NSGarbageCollector *collector = nil; id CFRetain(id obj) { - return objc_gc_retain(obj); + if (collector) + { + return objc_gc_retain(obj); + } + return [obj retain]; } void CFRelease(id obj) { - objc_gc_release(obj); + if (collector) + { + objc_gc_release(obj); + } + else + { + [obj release]; + } } @implementation NSGarbageCollector