|
@@ -31,7 +31,6 @@
|
|
|
NSWindow *nswindow;
|
|
|
}
|
|
|
- (id)initWithParentWindow:(SDL_Window *)window;
|
|
|
-- (void)alertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo;
|
|
|
@end
|
|
|
|
|
|
@implementation SDLMessageBoxPresenter
|
|
@@ -55,39 +54,16 @@
|
|
|
- (void)showAlert:(NSAlert *)alert
|
|
|
{
|
|
|
if (nswindow) {
|
|
|
-#ifdef MAC_OS_X_VERSION_10_9
|
|
|
- if ([alert respondsToSelector:@selector(beginSheetModalForWindow:completionHandler:)]) {
|
|
|
- [alert beginSheetModalForWindow:nswindow
|
|
|
- completionHandler:^(NSModalResponse returnCode) {
|
|
|
- self->clicked = returnCode;
|
|
|
- }];
|
|
|
- } else
|
|
|
-#endif
|
|
|
- {
|
|
|
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 1090
|
|
|
- [alert beginSheetModalForWindow:nswindow
|
|
|
- modalDelegate:self
|
|
|
- didEndSelector:@selector(alertDidEnd:returnCode:contextInfo:)
|
|
|
- contextInfo:nil];
|
|
|
-#endif
|
|
|
- }
|
|
|
-
|
|
|
- while (clicked < 0) {
|
|
|
- SDL_PumpEvents();
|
|
|
- SDL_Delay(100);
|
|
|
- }
|
|
|
-
|
|
|
+ [alert beginSheetModalForWindow:nswindow
|
|
|
+ completionHandler:^(NSModalResponse returnCode) {
|
|
|
+ [NSApp stopModalWithCode:returnCode];
|
|
|
+ }];
|
|
|
+ clicked = [NSApp runModalForWindow:nswindow];
|
|
|
nswindow = nil;
|
|
|
} else {
|
|
|
clicked = [alert runModal];
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-- (void)alertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo
|
|
|
-{
|
|
|
- clicked = returnCode;
|
|
|
-}
|
|
|
-
|
|
|
@end
|
|
|
|
|
|
static void Cocoa_ShowMessageBoxImpl(const SDL_MessageBoxData *messageboxdata, int *buttonid, int *returnValue)
|