From 0217203b500437e73f90f6ab3d3a692cc3eb194c Mon Sep 17 00:00:00 2001 From: jules Date: Thu, 26 Mar 2015 16:56:28 +0000 Subject: [PATCH] Fixed a problem when calling JUCEApplication::quit() from a background thread on OSX --- modules/juce_events/native/juce_mac_MessageManager.mm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/juce_events/native/juce_mac_MessageManager.mm b/modules/juce_events/native/juce_mac_MessageManager.mm index 0090d0bd46..928abfd4d8 100644 --- a/modules/juce_events/native/juce_mac_MessageManager.mm +++ b/modules/juce_events/native/juce_mac_MessageManager.mm @@ -261,11 +261,13 @@ static void shutdownNSApp() void MessageManager::stopDispatchLoop() { + #if JUCE_PROJUCER_LIVE_BUILD quitMessagePosted = true; + #else - #if ! JUCE_PROJUCER_LIVE_BUILD if (isThisTheMessageThread()) { + quitMessagePosted = true; shutdownNSApp(); } else @@ -273,7 +275,7 @@ void MessageManager::stopDispatchLoop() struct QuitCallback : public CallbackMessage { QuitCallback() {} - void messageCallback() override { shutdownNSApp(); } + void messageCallback() override { MessageManager::getInstance()->stopDispatchLoop(); } }; (new QuitCallback())->post();