diff --git a/ChangeLog b/ChangeLog index f182314d6..a256364c2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,8 +2,9 @@ * SoObjects/SOGo/SOGoDefaultsSource.m (-migrateOldDefaultsWithDictionary:): when migrating between two - existing keys, the migration is not interrupted if both values are - the same. + existing keys, the new value is automatically overwritten with the + old one, since it causes a problem with the values inherited from + SOGoDefaults.plist. 2009-11-29 Wolfgang Sourdeau diff --git a/SoObjects/SOGo/SOGoDefaultsSource.m b/SoObjects/SOGo/SOGoDefaultsSource.m index c12086769..04b2251ce 100644 --- a/SoObjects/SOGo/SOGoDefaultsSource.m +++ b/SoObjects/SOGo/SOGoDefaultsSource.m @@ -213,18 +213,11 @@ NSString *SOGoDefaultsSourceUnmutableSource = @"SOGoDefaultsSourceUnmutableSourc { newName = [migratedKeys objectForKey: oldName]; existingValue = [source objectForKey: newName]; - if (existingValue && ![existingValue isEqual: currentValue]) - [self errorWithFormat: @"both old and new defaults key" - @" ('%@' and '%@') exist with a different value." - @" Migration skipped.", oldName, newName]; - else - { - requireSync = YES; - [source setObject: currentValue forKey: newName]; - [source removeObjectForKey: oldName]; - [self warnWithFormat: @"defaults key '%@' was renamed to '%@'", - oldName, newName]; - } + requireSync = YES; + [source setObject: currentValue forKey: newName]; + [source removeObjectForKey: oldName]; + [self warnWithFormat: @"defaults key '%@' was renamed to '%@'", + oldName, newName]; } }