Subject: Fix for 63c3542c06, messageboxes in Tk-Cocoa; thanks to Marc Culler for patch

From: Kevin Walzer <[email-masked]>
Date: Mon, 11 Jan 2016 00:28:14 +0000

---
 macosx/tkMacOSXDialog.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/macosx/tkMacOSXDialog.c b/macosx/tkMacOSXDialog.c
index eebff3c..4ceb010 100644
--- a/macosx/tkMacOSXDialog.c
+++ b/macosx/tkMacOSXDialog.c
@@ -1013,7 +1013,8 @@ Tk_MessageBoxObjCmd(
     NSArray *buttons;
     NSAlert *alert = [NSAlert new];
     NSInteger modalReturnCode = 1;
-
+    BOOL parentIsKey = NO;
+    
     iconIndex = ICON_INFO;
     typeIndex = TYPE_OK;
     for (i = 1; i < objc; i += 2) {
@@ -1139,6 +1140,7 @@ Tk_MessageBoxObjCmd(
     callbackInfo->typeIndex = typeIndex;
     parent = TkMacOSXDrawableWindow(((TkWindow *) tkwin)->window);
     if (haveParentOption && parent && ![parent attachedSheet]) {
+	parentIsKey = [parent isKeyWindow];
 #if MAC_OS_X_VERSION_MIN_REQUIRED > 1090
  	[alert beginSheetModalForWindow:parent
 	       completionHandler:^(NSModalResponse returnCode)
@@ -1161,6 +1163,9 @@ Tk_MessageBoxObjCmd(
     result = (modalReturnCode >= NSAlertFirstButtonReturn) ? TCL_OK : TCL_ERROR;
  end:
     [alert release];
+    if (parentIsKey) {
+	[parent makeKeyWindow];
+    }
     return result;
 }
 
-- 
cgit v0.12