Package: agenda.app Version: 0.44-1 Severity: important Tags: patch Patrick CARDONA wrote: > When I try to add a new task (#t) - or a new appointment - within > SimpleAgenda.app, the OK button is disabled in the "Edit task" panel > and the Store list is empty. So I cannot save anything.
Thanks for reporting this bug, it is easily reproducible on a fresh installation (simulated by deleting the app defaults and ~/GNUstep/Library/Simplegenda). In LocalStore -initWithName:, [[self config] objectForKey: ST_FILE] returns nil so _globalFile ends up the same as _globalPath. It then attempts to save the file which is identical to the newly created directory and that fails, naturally. Which in turn sets the store as non-writable in the -write method so you get the OK button disabled. Riccardo's workaround actually works because adding a local calendar file explicitly from the Preferences invokes +registerWithName: which sets the object for that key. The attached patch works for me.
--- agenda.app-0.44.orig/LocalStore.m +++ agenda.app-0.44/LocalStore.m @@ -27,9 +27,11 @@ { self = [super initWithName:name]; if (self) { + ConfigManager *gc = [ConfigManager globalConfig]; + _globalPath = [[[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"SimpleAgenda"] retain]; - _globalFile = [[_globalPath stringByAppendingPathComponent:[[self config] objectForKey:ST_FILE]] retain]; + _globalFile = [[_globalPath stringByAppendingPathComponent:[[gc objectForKey:name] objectForKey:ST_FILE]] retain]; _globalTaskFile = [[NSString stringWithFormat:@"%@.tasks", _globalFile] retain]; [self read]; }