diff --git a/modules/juce_gui_basics/native/juce_ios_Windowing.mm b/modules/juce_gui_basics/native/juce_ios_Windowing.mm index 41503d2a7b..574947484f 100644 --- a/modules/juce_gui_basics/native/juce_ios_Windowing.mm +++ b/modules/juce_gui_basics/native/juce_ios_Windowing.mm @@ -523,7 +523,13 @@ static int showDialog (const MessageBoxOptions& options, } #endif - new iOSMessageBox (options, AlertWindowMappings::getWrappedCallback (callbackIn, mapFn)); + const auto showBox = [options, callbackIn, mapFn] { new iOSMessageBox (options, AlertWindowMappings::getWrappedCallback (callbackIn, mapFn)); }; + + if (MessageManager::getInstance()->isThisTheMessageThread()) + showBox(); + else + MessageManager::callAsync (showBox); + return 0; }