Commits

Tuukka Norri committed d14d2c1

Added retain or copy + autorelease to synchronized getters

Comments (0)

Files changed (5)

Sources/BXDatabaseObject.m

     id retval = nil;
     @synchronized (mValues)
     {
-        retval = [mValues valueForKey: aKey];
+        retval = [[[mValues valueForKey: aKey] retain] autorelease];
     }
     return retval;
 }
     id retval = nil;
     @synchronized (mValues)
     {
-        retval = [mValues copy];
+        retval = [[mValues copy] autorelease];
     }
-    return [retval autorelease];
+    return retval;
 }
 
 /**

Sources/BXSocketDescriptor.m

 	id <BXSocketDescriptorDelegate> retval = nil;
 	@synchronized (self)
 	{
-		retval = mDelegate;
+		retval = [[mDelegate retain] autorelease];
 	}
 	return retval;
 }

Sources/PGTSQuery.h

 #import <Foundation/Foundation.h>
 #import <BaseTen/libpq-fe.h>
 
+
 @class PGTSConnection;
 @class PGTSQuery;
 @class PGTSAbstractParameterQuery;
 
 
+
 @protocol PGTSQueryVisitor <NSObject>
 - (id) visitQuery: (PGTSQuery *) query;
 - (id) visitParameterQuery: (PGTSAbstractParameterQuery *) query;
 @end
 
 
+
 @interface PGTSQuery : NSObject
 {
 }
 @end
 
 
+
 @interface PGTSAbstractParameterQuery : PGTSQuery
 {
 	NSArray* mParameters;
 @end
 
 
+
 @interface PGTSParameterQuery : PGTSAbstractParameterQuery
 {
 	NSString* mQuery;

Sources/PGTSQuery.m

 	NSArray *retval = nil;
 	@synchronized (self)
 	{
-		retval = mParameters;
+		retval = [[mParameters copy] autorelease];
 	}
 	return retval;
 }
 	NSString *retval = nil;
 	@synchronized (self)
 	{
-		retval = mQuery;
+		retval = [[mQuery retain] autorelease];
 	}
 	return retval;
 }

Sources/PGTSQueryDescription.m

 	id retval = nil;
 	@synchronized (self)
 	{
-		retval = mDelegate;
+		retval = [[mDelegate retain] autorelease];
 	}
 	return retval;
 }
 	PGTSQuery *retval = nil;
 	@synchronized (self)
 	{
-		retval = mQuery;
+		retval = [[mQuery retain] autorelease];
 	}
 	return retval;
 }