diff --git a/dialog_darwin.go b/dialog_darwin.go index 6ce28c0..421e838 100644 --- a/dialog_darwin.go +++ b/dialog_darwin.go @@ -31,10 +31,10 @@ func _msgBox(parent *Window, primarytext string, secondarytext string, style uin } switch style { case 0: // normal - C.msgBox(pwin, primary, secondary, nil) + C.msgBox(pwin, primary, secondary) return OK case 1: // error - C.msgBoxError(pwin, primary, secondary, nil) + C.msgBoxError(pwin, primary, secondary) return OK } panic(fmt.Errorf("unknown message box style %d\n", style)) diff --git a/dialog_darwin.m b/dialog_darwin.m index 7f72d02..10a5f26 100644 --- a/dialog_darwin.m +++ b/dialog_darwin.m @@ -9,7 +9,7 @@ #define to(T, x) ((T *) (x)) #define toNSWindow(x) to(NSWindow, (x)) -static void alert(id parent, NSString *primary, NSString *secondary, NSAlertStyle style, void *chan) +static void alert(id parent, NSString *primary, NSString *secondary, NSAlertStyle style) { NSAlert *box; @@ -23,20 +23,22 @@ static void alert(id parent, NSString *primary, NSString *secondary, NSAlertStyl if (parent == nil) return (intptr_t) [box runModal]; else { + NSInteger *ret; + [box beginSheetModalForWindow:toNSWindow(parent) modalDelegate:[NSApp delegate] didEndSelector:@selector(alertDidEnd:returnCode:contextInfo:) - contextInfo:chan]; + contextInfo:&ret]; // TODO } } -void msgBox(id parent, id primary, id secondary, void *chan) +void msgBox(id parent, id primary, id secondary) { - alert(parent, (NSString *) primary, (NSString *) secondary, NSInformationalAlertStyle, chan); + alert(parent, (NSString *) primary, (NSString *) secondary, NSInformationalAlertStyle); } -void msgBoxError(id parent, id primary, id secondary, void *chan) +void msgBoxError(id parent, id primary, id secondary) { - alert(parent, (NSString *) primary, (NSString *) secondary, NSCriticalAlertStyle, chan); + alert(parent, (NSString *) primary, (NSString *) secondary, NSCriticalAlertStyle); } diff --git a/objc_darwin.h b/objc_darwin.h index 22bafb1..8174ec1 100644 --- a/objc_darwin.h +++ b/objc_darwin.h @@ -68,8 +68,8 @@ extern void breakMainLoop(void); extern void cocoaMainLoop(void); /* dialog_darwin.m */ -extern void msgBox(id, id, id, void *); -extern void msgBoxError(id, id, id, void *); +extern void msgBox(id, id, id); +extern void msgBoxError(id, id, id); /* listbox_darwin.m */ extern id toListboxItem(id, id);