From 1dd5561172ea60c526948204d116ad83c414bf36 Mon Sep 17 00:00:00 2001 From: richard Date: Fri, 4 Sep 1998 06:33:30 +0000 Subject: [PATCH] Bugfix for setting objects in persistent domains. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2959 72102866-910b-0410-8b05-ffd578937521 --- Source/NSUserDefaults.m | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/Source/NSUserDefaults.m b/Source/NSUserDefaults.m index 7049ab294..2e67ee76c 100644 --- a/Source/NSUserDefaults.m +++ b/Source/NSUserDefaults.m @@ -401,8 +401,19 @@ static NSMutableString *processName = nil; { if (value && defaultName && ([defaultName length] > 0)) { - [[persDomains objectForKey:processName] - setObject:value forKey: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 setObject:value forKey:defaultName]; [self __changePersistentDomain:processName]; } return;