From 3fc27b79fb8d3618ad2cd0f98cb0f7097a47b652 Mon Sep 17 00:00:00 2001 From: Richard Frith-MacDonald Date: Fri, 4 Sep 1998 06:49:38 +0000 Subject: [PATCH] Updated git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2960 72102866-910b-0410-8b05-ffd578937521 --- Source/NSUserDefaults.m | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Source/NSUserDefaults.m b/Source/NSUserDefaults.m index 2e67ee76c..b8c8aa8c9 100644 --- a/Source/NSUserDefaults.m +++ b/Source/NSUserDefaults.m @@ -367,7 +367,19 @@ static NSMutableString *processName = nil; if (obj) { - [[persDomains objectForKey:processName] removeObjectForKey:defaultName]; + id obj = [persDomains objectForKey: processName]; + NSMutableDictionary *dict; + + if ([obj isKindOfClass: [NSMutableDictionary class]] == YES) + { + dict = obj; + } + else + { + dict = [obj mutableCopy]; + [persDomains setObject: dict forKey: processName]; + } + [dict removeObjectForKey:defaultName]; [self __changePersistentDomain:processName]; } return; @@ -464,7 +476,7 @@ static NSMutableString *processName = nil; *************************************************************************/ - (NSDictionary *)persistentDomainForName:(NSString *)domainName { - return [persDomains objectForKey:domainName]; + return [[persDomains objectForKey:domainName] copy]; } - (NSArray *)persistentDomainNames @@ -714,7 +726,7 @@ static NSMutableString *processName = nil; { changedDomains = [[NSMutableArray arrayWithCapacity:5] retain]; [[NSNotificationCenter defaultCenter] - postNotificationName:NSUserDefaultsChanged object:nil]; + postNotificationName:NSUserDefaultsDidChange object:nil]; } if (!tickingTimer)