|
@@ -186,8 +186,8 @@ UIKit_ShowMessageBoxAlertView(const SDL_MessageBoxData *messageboxdata, int *but
|
|
|
#endif /* __IPHONE_OS_VERSION_MIN_REQUIRED < 80000 */
|
|
|
}
|
|
|
|
|
|
-int
|
|
|
-UIKit_ShowMessageBox(const SDL_MessageBoxData *messageboxdata, int *buttonid)
|
|
|
+static void
|
|
|
+UIKit_ShowMessageBoxImpl(const SDL_MessageBoxData *messageboxdata, int *buttonid, int *returnValue)
|
|
|
{
|
|
|
BOOL success = NO;
|
|
|
|
|
@@ -199,12 +199,26 @@ UIKit_ShowMessageBox(const SDL_MessageBoxData *messageboxdata, int *buttonid)
|
|
|
}
|
|
|
|
|
|
if (!success) {
|
|
|
- return SDL_SetError("Could not show message box.");
|
|
|
+ *returnValue = SDL_SetError("Could not show message box.");
|
|
|
+ } else {
|
|
|
+ *returnValue = 0;
|
|
|
}
|
|
|
-
|
|
|
- return 0;
|
|
|
}
|
|
|
|
|
|
+int
|
|
|
+UIKit_ShowMessageBox(const SDL_MessageBoxData *messageboxdata, int *buttonid)
|
|
|
+{ @autoreleasepool
|
|
|
+{
|
|
|
+ __block int returnValue = 0;
|
|
|
+
|
|
|
+ if ([NSThread isMainThread]) {
|
|
|
+ UIKit_ShowMessageBoxImpl(messageboxdata, buttonid, &returnValue);
|
|
|
+ } else {
|
|
|
+ dispatch_sync(dispatch_get_main_queue(), ^{ UIKit_ShowMessageBoxImpl(messageboxdata, buttonid, &returnValue); });
|
|
|
+ }
|
|
|
+ return returnValue;
|
|
|
+}}
|
|
|
+
|
|
|
#endif /* SDL_VIDEO_DRIVER_UIKIT */
|
|
|
|
|
|
/* vi: set ts=4 sw=4 expandtab: */
|