From 5d6626ee897c1b773f870e03756c6cc806caac39 Mon Sep 17 00:00:00 2001 From: rfm Date: Fri, 16 Nov 2012 11:14:06 +0000 Subject: [PATCH] improve reporting of update status git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/ec/trunk@35797 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 5 +++++ EcControl.m | 18 ++++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) 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"];