Fixed signedness.
[enjoyable.git] / NJMappingsController.m
index 26ef35f..567f233 100644 (file)
                                             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 {
                       if (result != NSFileHandlingPanelOKButton)
                           return;
                       [panel close];
+                      [NSProcessInfo.processInfo disableSuddenTermination];
                       NSError *error;
                       NSDictionary *serialization = [mapping serialize];
                       NSData *json = [NSJSONSerialization dataWithJSONObject:serialization
                       if (!error)
                           [json writeToURL:panel.URL options:NSDataWritingAtomic error:&error];
                       
+                      [NSProcessInfo.processInfo enableSuddenTermination];
                       if (error) {
                           [window presentError:error
                                 modalForWindow:window