From 0f09fefac3e917fb38de2661d1d6f4f02e68b2c0 Mon Sep 17 00:00:00 2001 From: Gregory John Casamento Date: Wed, 14 Aug 2019 04:30:52 -0400 Subject: [PATCH] Fix crash due to dictionary --- Headers/Foundation/MISSING | 3 --- Headers/Foundation/NSProgress.h | 2 +- Source/NSProgress.m | 16 ++++++++++++---- Tests/base/NSProgress/basic.m | 3 --- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Headers/Foundation/MISSING b/Headers/Foundation/MISSING index d07ebf1de..8db8379ac 100644 --- a/Headers/Foundation/MISSING +++ b/Headers/Foundation/MISSING @@ -92,10 +92,7 @@ NSAttributedString: NSBundle: - sharedFrameworksURL - sharedSupportURL - - builtInPlugInsURL - appStoreReceiptURL - - pathForAuxiliaryExecutable: - - privateFrameworksPath - sharedFrameworksPath - sharedSupportPath + URLsForResourcesWithExtension:subdirectory:inBundleWithURL: diff --git a/Headers/Foundation/NSProgress.h b/Headers/Foundation/NSProgress.h index e34172ce7..5ee47ebdc 100644 --- a/Headers/Foundation/NSProgress.h +++ b/Headers/Foundation/NSProgress.h @@ -33,7 +33,7 @@ extern "C" { #endif - @class NSString, NSDictionary, NSArray, NSNumber, NSProgress; +@class NSString, NSDictionary, NSArray, NSNumber, NSURL, NSProgress; #if OS_API_VERSION(MAC_OS_X_VERSION_10_9, GS_API_LATEST) diff --git a/Source/NSProgress.m b/Source/NSProgress.m index a710fe02f..482027c6f 100644 --- a/Source/NSProgress.m +++ b/Source/NSProgress.m @@ -96,7 +96,7 @@ static NSMutableDictionary *__subscribers = nil; internal->_throughput = nil; internal->_totalUnitCount = 0; internal->_completedUnitCount = 0; - internal->_userInfo = [userInfo mutableCopy]; + internal->_userInfo = RETAIN([userInfo mutableCopy]); internal->_cancelled = NO; internal->_cancellable = NO; internal->_paused = NO; @@ -104,7 +104,6 @@ static NSMutableDictionary *__subscribers = nil; internal->_indeterminate = NO; internal->_finished = NO; internal->_parent = parent; // this is a weak reference and not retained. - internal->_userInfo = [[NSMutableDictionary alloc] initWithCapacity: 10]; } return self; } @@ -209,8 +208,12 @@ static NSMutableDictionary *__subscribers = nil; - (NSString *) localizedDescription { - return [NSString stringWithFormat: @"%f percent complete", - [self fractionCompleted]]; + return _localizedDescription; +} + +- (void) setLocalizedDescription: (NSString *)localDescription +{ + ASSIGNCOPY(_localizedDescription, localDescription); } - (NSString *) localizedAddtionalDescription @@ -219,6 +222,11 @@ static NSMutableDictionary *__subscribers = nil; [self estimatedTimeRemaining]]; } +- (void) setLocalizedAdditionalDescription: (NSString *)localDescription +{ + ASSIGNCOPY(_localizedAdditionalDescription, localDescription); +} + // Observing progress - (double) fractionCompleted { diff --git a/Tests/base/NSProgress/basic.m b/Tests/base/NSProgress/basic.m index a936d0cda..142ac2253 100644 --- a/Tests/base/NSProgress/basic.m +++ b/Tests/base/NSProgress/basic.m @@ -5,9 +5,6 @@ int main() { - id obj1; - id obj2; - NSMutableArray *testObjs = [[NSMutableArray alloc] init]; NSAutoreleasePool *arp = [NSAutoreleasePool new]; NSDictionary *dict = [NSDictionary dictionary]; NSProgress *progress = [[NSProgress alloc] initWithParent: nil