summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/kim/agent/mac/AuthenticationController.h2
-rw-r--r--src/kim/agent/mac/AuthenticationController.m5
-rw-r--r--src/kim/agent/mac/IPCClient.m4
3 files changed, 11 insertions, 0 deletions
diff --git a/src/kim/agent/mac/AuthenticationController.h b/src/kim/agent/mac/AuthenticationController.h
index 3b223f760..b443d8a73 100644
--- a/src/kim/agent/mac/AuthenticationController.h
+++ b/src/kim/agent/mac/AuthenticationController.h
@@ -100,6 +100,8 @@
- (IBAction) cancelTicketOptions: (id) sender;
- (IBAction) saveTicketOptions: (id) sender;
+- (IBAction) cancelAuthSheet: (id) sender;
+
- (void) authSheetDidEnd: (NSWindow *) sheet
returnCode: (int) returnCode
contextInfo: (void *) contextInfo;
diff --git a/src/kim/agent/mac/AuthenticationController.m b/src/kim/agent/mac/AuthenticationController.m
index de49b11de..07449f876 100644
--- a/src/kim/agent/mac/AuthenticationController.m
+++ b/src/kim/agent/mac/AuthenticationController.m
@@ -514,6 +514,11 @@
[NSApp endSheet:ticketOptionsSheet];
}
+- (IBAction) cancelAuthSheet: (id) sender
+{
+ [NSApp endSheet:[self window]];
+}
+
- (void) authSheetDidEnd: (NSWindow *) sheet
returnCode: (int) returnCode
contextInfo: (void *) contextInfo
diff --git a/src/kim/agent/mac/IPCClient.m b/src/kim/agent/mac/IPCClient.m
index 8b9eb2194..53a7fe540 100644
--- a/src/kim/agent/mac/IPCClient.m
+++ b/src/kim/agent/mac/IPCClient.m
@@ -144,6 +144,10 @@ enum krb_agent_client_state {
[self.currentInfo addEntriesFromDictionary:info];
self.state = ipc_client_state_select;
+ if ([[self.authController window] isVisible]) {
+ [self.authController cancelAuthSheet:nil];
+ }
+
[self.selectController setContent:self.currentInfo];
[self.selectController showWindow:nil];