Fixed memory leak. Tidied up to match coding style.

This commit is contained in:
Richard Frith-Macdonald 2019-09-26 12:45:25 +01:00
parent 8363a7f3a1
commit e8354c57f0

View file

@ -177,7 +177,8 @@ static SEL appSel;
GS_DISPATCH_CREATE_QUEUE_AND_GROUP_FOR_ENUMERATION(enumQueue, opts) GS_DISPATCH_CREATE_QUEUE_AND_GROUP_FOR_ENUMERATION(enumQueue, opts)
FOR_IN(id, key, enumerator) FOR_IN(id, key, enumerator)
obj = (*objectForKey)(self, objectForKeySelector, key); obj = (*objectForKey)(self, objectForKeySelector, key);
GS_DISPATCH_SUBMIT_BLOCK(enumQueueGroup, enumQueue, if (shouldStop){return;};, return;, aBlock, key, obj, &shouldStop); GS_DISPATCH_SUBMIT_BLOCK(enumQueueGroup, enumQueue,
if (shouldStop){return;};, return;, aBlock, key, obj, &shouldStop);
if (YES == shouldStop) if (YES == shouldStop)
{ {
break; break;
@ -959,13 +960,20 @@ compareIt(id o1, id o2, void* context)
- (NSArray *) keysSortedByValueWithOptions: (NSSortOptions)opts - (NSArray *) keysSortedByValueWithOptions: (NSSortOptions)opts
usingComparator: (NSComparator)cmptr usingComparator: (NSComparator)cmptr
{ {
NSArray* sortedValues = [[self allValues] sortedArrayWithOptions: opts usingComparator: cmptr]; CREATE_AUTORELEASE_POOL(arp);
NSArray* noDuplicates = [[NSOrderedSet orderedSetWithArray:sortedValues] array]; NSArray *sortedValues;
NSMutableArray* result = [[NSMutableArray alloc] initWithCapacity:[sortedValues count]]; NSArray *noDuplicates;
for (NSObject* value in noDuplicates) { NSMutableArray *result;
sortedValues = [[self allValues] sortedArrayWithOptions: opts
usingComparator: cmptr];
noDuplicates = [[NSOrderedSet orderedSetWithArray: sortedValues] array];
result = [[NSMutableArray alloc] initWithCapacity: [sortedValues count]];
FOR_IN(NSObject*, value, noDuplicates)
[result addObjectsFromArray: [self allKeysForObject: value]]; [result addObjectsFromArray: [self allKeysForObject: value]];
} END_FOR_IN(noDuplicates)
return result; RELEASE(arp);
return AUTORELEASE(result);
} }
/** /**