Correct retain/release handling for GSIArray

This commit is contained in:
fredkiefer 2019-06-27 13:56:27 +02:00
parent 1c83220356
commit 5c6139af07

View file

@ -40,14 +40,8 @@
#import "GSDispatch.h" #import "GSDispatch.h"
#import "GSSorting.h" #import "GSSorting.h"
#define GSI_ARRAY_TYPE NSRange
#define GSI_ARRAY_NO_RELEASE 0
#define GSI_ARRAY_NO_RETAIN 0
#define GSI_ARRAY_TYPES GSUNION_OBJ #define GSI_ARRAY_TYPES GSUNION_OBJ
#define GSI_ARRAY_RELEASE(A, X) [(X).obj release]
#define GSI_ARRAY_RETAIN(A, X) [(X).obj retain]
#import "GNUstepBase/GSIArray.h" #import "GNUstepBase/GSIArray.h"
@interface GSOrderedSet : NSOrderedSet @interface GSOrderedSet : NSOrderedSet
@ -230,7 +224,6 @@ static Class mutableSetClass;
if(![self containsObject: obj]) if(![self containsObject: obj])
{ {
GSIArrayAddItem(&array, item); GSIArrayAddItem(&array, item);
RETAIN(obj);
} }
} }
return self; return self;
@ -267,7 +260,6 @@ static Class mutableSetClass;
{ {
item.obj = object; item.obj = object;
GSIArrayInsertItem(&array, item, index); GSIArrayInsertItem(&array, item, index);
RETAIN(object);
_version++; _version++;
} }
} }