X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=NJMappingsController.m;h=567f2337930b242b38d8a080ec53f28501d9fb4d;hp=26ef35f7754f4550ef6d02706515d932512bc3a2;hb=5d47b8ad7e805212b250c86e8e18758bc3662e54;hpb=b46786face17680799d7fd9795dead8a801ae9c1 diff --git a/NJMappingsController.m b/NJMappingsController.m index 26ef35f..567f233 100644 --- a/NJMappingsController.m +++ b/NJMappingsController.m @@ -56,15 +56,19 @@ count:len]; } - - (void)activateMappingForProcess:(NSString *)processName { - NJMapping *oldMapping = manualMapping; - NJMapping *newMapping = self[processName]; - if (!newMapping) - newMapping = oldMapping; - if (newMapping != _currentMapping) - [self activateMapping:newMapping]; - manualMapping = oldMapping; + if ([manualMapping.name.lowercaseString isEqualToString:@"@application"]) { + manualMapping.name = processName; + [self mappingsChanged]; + } else { + NJMapping *oldMapping = manualMapping; + NJMapping *newMapping = self[processName]; + if (!newMapping) + newMapping = oldMapping; + if (newMapping != _currentMapping) + [self activateMapping:newMapping]; + manualMapping = oldMapping; + } } - (void)activateMapping:(NJMapping *)mapping { @@ -281,6 +285,7 @@ if (result != NSFileHandlingPanelOKButton) return; [panel close]; + [NSProcessInfo.processInfo disableSuddenTermination]; NSError *error; NSDictionary *serialization = [mapping serialize]; NSData *json = [NSJSONSerialization dataWithJSONObject:serialization @@ -289,6 +294,7 @@ if (!error) [json writeToURL:panel.URL options:NSDataWritingAtomic error:&error]; + [NSProcessInfo.processInfo enableSuddenTermination]; if (error) { [window presentError:error modalForWindow:window