diff --git a/ChangeLog b/ChangeLog index d616a2148..e396c6ac6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2011-05-12 Fred Kiefer + + * Source/GSArray.m: Fix keyed decoding for GSMutableArray and GSPlaceholderArray. + 2011-05-09 Richard Frith-Macdonald * Source/NSXMLParser.m: treat unknown/undefined encodings as utf-8 diff --git a/Source/GSArray.m b/Source/GSArray.m index 376807140..483fa4a7e 100644 --- a/Source/GSArray.m +++ b/Source/GSArray.m @@ -535,10 +535,7 @@ static Class GSInlineArrayClass; { if ([aCoder allowsKeyedCoding]) { - NSArray *array = [(NSKeyedUnarchiver*)aCoder _decodeArrayOfObjectsForKey: - @"NS.objects"]; - - [self initWithArray: array]; + self = [super initWithCoder: aCoder]; } else { @@ -1123,9 +1120,15 @@ static Class GSInlineArrayClass; if ([aCoder allowsKeyedCoding]) { NSArray *array = [(NSKeyedUnarchiver*)aCoder _decodeArrayOfObjectsForKey: - @"NS.objects"]; - - return RETAIN(array); + @"NS.objects"]; + if (array != nil) + { + return RETAIN(array); + } + else + { + return [super initWithCoder: aCoder]; + } } else {