mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-31 16:50:58 +00:00
fix for bug #39300
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37046 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
4df131cfc5
commit
bc950cb9dd
2 changed files with 35 additions and 25 deletions
|
@ -1,4 +1,10 @@
|
||||||
2013-09-30 Fred Kiefer <FredKiefer@gmx.de>
|
2013-09-06 Richard Frith-Macdonald <rfm@gnu.org>
|
||||||
|
|
||||||
|
* Source/NSUserDefaults.m: Update cache when we syunchronise a new
|
||||||
|
domain to disk (was only updating on changes to existing domains).
|
||||||
|
Should fix bug #39300
|
||||||
|
|
||||||
|
2013-08-30 Fred Kiefer <FredKiefer@gmx.de>
|
||||||
|
|
||||||
* Headers/GNUstepBase/GSVersionMacros.h: Fix usage of __APPLE__ macro.
|
* Headers/GNUstepBase/GSVersionMacros.h: Fix usage of __APPLE__ macro.
|
||||||
Patch by Graham Lee <iamleeg@gmail.com>
|
Patch by Graham Lee <iamleeg@gmail.com>
|
||||||
|
|
|
@ -1803,7 +1803,6 @@ static BOOL isPlistObject(id o)
|
||||||
{
|
{
|
||||||
NSEnumerator *enumerator;
|
NSEnumerator *enumerator;
|
||||||
NSString *domainName;
|
NSString *domainName;
|
||||||
NSFileManager *mgr;
|
|
||||||
|
|
||||||
haveChange = [self _readDefaults];
|
haveChange = [self _readDefaults];
|
||||||
if (YES == haveChange)
|
if (YES == haveChange)
|
||||||
|
@ -1811,32 +1810,37 @@ static BOOL isPlistObject(id o)
|
||||||
DESTROY(_dictionaryRep);
|
DESTROY(_dictionaryRep);
|
||||||
}
|
}
|
||||||
|
|
||||||
mgr = [NSFileManager defaultManager];
|
if (_changedDomains != nil)
|
||||||
|
{
|
||||||
|
haveChange = YES;
|
||||||
|
|
||||||
if (_changedDomains != nil && NO == [self _readOnly])
|
if (NO == [self _readOnly])
|
||||||
{
|
{
|
||||||
GSPersistentDomain *domain;
|
GSPersistentDomain *domain;
|
||||||
|
NSFileManager *mgr;
|
||||||
|
|
||||||
enumerator = [_changedDomains objectEnumerator];
|
mgr = [NSFileManager defaultManager];
|
||||||
DESTROY(_changedDomains); // Retained by enumerator.
|
enumerator = [_changedDomains objectEnumerator];
|
||||||
while ((domainName = [enumerator nextObject]) != nil)
|
DESTROY(_changedDomains); // Retained by enumerator.
|
||||||
{
|
while ((domainName = [enumerator nextObject]) != nil)
|
||||||
domain = [_persDomains objectForKey: domainName];
|
{
|
||||||
if (domain != nil) // Domain was added or changed
|
domain = [_persDomains objectForKey: domainName];
|
||||||
{
|
if (domain != nil) // Domain was added or changed
|
||||||
[domain synchronize];
|
{
|
||||||
}
|
[domain synchronize];
|
||||||
else // Domain was removed
|
}
|
||||||
{
|
else // Domain was removed
|
||||||
NSString *path;
|
{
|
||||||
|
NSString *path;
|
||||||
|
|
||||||
path = [[_defaultsDatabase
|
path = [[_defaultsDatabase
|
||||||
stringByAppendingPathComponent: domainName]
|
stringByAppendingPathComponent: domainName]
|
||||||
stringByAppendingPathExtension: @"plist"];
|
stringByAppendingPathExtension: @"plist"];
|
||||||
[mgr removeFileAtPath: path handler: nil];
|
[mgr removeFileAtPath: path handler: nil];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (YES == haveChange)
|
if (YES == haveChange)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue