diff --git a/ChangeLog b/ChangeLog index 4527e8b..31b9999 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-11-16 Richard Frith-Macdonald + + * EcControl.m: Record a change in the alerter configuration as an + update of the overall configuration. + 2012-10-28 Richard Frith-Macdonald * EcCommand.m: diff --git a/EcControl.m b/EcControl.m index a07890d..04591f6 100644 --- a/EcControl.m +++ b/EcControl.m @@ -2349,9 +2349,15 @@ static NSString* cmdWord(NSArray* a, unsigned int pos) if ([mgr isReadableFileAtPath: path] == YES && (d = [NSDictionary dictionaryWithContentsOfFile: path]) != nil) { - d = [NSDictionary dictionaryWithObjectsAndKeys: - d, @"Alerter", nil]; - [[self cmdDefaults] setConfiguration: d]; + NSDictionary *o = [[self cmdDefaults] dictionaryForKey: @"Alerter"]; + + if (nil == o || NO == [o isEqual: d]) + { + d = [NSDictionary dictionaryWithObjectsAndKeys: + d, @"Alerter", nil]; + [[self cmdDefaults] setConfiguration: d]; + changed = YES; + } if (nil == alerter) { alerter = [EcAlerter new]; @@ -2359,7 +2365,11 @@ static NSString* cmdWord(NSArray* a, unsigned int pos) } else { - DESTROY(alerter); + if (nil != alerter) + { + changed = YES; + DESTROY(alerter); + } } path = [base stringByAppendingPathComponent: @"Operators.plist"];