From 84a09a6d7593122d78bcbc2ca9a737ea8904f84a Mon Sep 17 00:00:00 2001 From: theraven Date: Sat, 28 May 2011 15:15:05 +0000 Subject: [PATCH] Make CFRetain() / CFRelease() behaviour dependent on GC mode. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33177 72102866-910b-0410-8b05-ffd578937521 --- Source/NSGarbageCollector.m | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) 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