diff --git a/Source/NSCalendarDate.m b/Source/NSCalendarDate.m index f4a880a0d..586281291 100644 --- a/Source/NSCalendarDate.m +++ b/Source/NSCalendarDate.m @@ -1689,9 +1689,12 @@ static inline int getDigits(const char *from, char *to, int limit) */ if ([date isKindOfClass: [NSCalendarDate class]]) tmp = (NSCalendarDate*)RETAIN(date); - else + else if ([date isKindOfClass: [NSDate class]]) tmp = [[NSCalendarDate alloc] initWithTimeIntervalSinceReferenceDate: [date timeIntervalSinceReferenceDate]]; + else + [NSException raise: NSInvalidArgumentException + format: @"%@ invalid date given", NSStringFromSelector(_cmd)]; end = (NSCalendarDate*)[self laterDate: tmp]; if (end == self) diff --git a/Source/NSUserDefaults.m b/Source/NSUserDefaults.m index 2c47ac041..18389d9a4 100644 --- a/Source/NSUserDefaults.m +++ b/Source/NSUserDefaults.m @@ -219,6 +219,7 @@ static BOOL setSharedDefaults = NO; /* Flag to prevent infinite recursion */ { NSDictionary *regDefs; + [sharedDefaults synchronize]; // Ensure changes are written. regDefs = RETAIN([sharedDefaults->_tempDomains objectForKey: NSRegistrationDomain]); setSharedDefaults = NO;