|
|
|
@@ -245,6 +245,7 @@ bool ModalComponentManager::cancelAllModalComponents() |
|
|
|
return numModal > 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
//==============================================================================
|
|
|
|
#if JUCE_MODAL_LOOPS_PERMITTED
|
|
|
|
class ModalComponentManager::ReturnValueRetriever : public ModalComponentManager::Callback
|
|
|
|
{
|
|
|
|
@@ -292,3 +293,21 @@ int ModalComponentManager::runEventLoopForCurrentComponent() |
|
|
|
return returnValue;
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
//==============================================================================
|
|
|
|
#if JUCE_COMPILER_SUPPORTS_LAMBDAS
|
|
|
|
struct LambdaCallback : public ModalComponentManager::Callback
|
|
|
|
{
|
|
|
|
LambdaCallback (std::function<void(int)> fn) noexcept : function (fn) {}
|
|
|
|
void modalStateFinished (int result) override { function (result); }
|
|
|
|
|
|
|
|
std::function<void(int)> function;
|
|
|
|
|
|
|
|
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LambdaCallback)
|
|
|
|
};
|
|
|
|
|
|
|
|
ModalComponentManager::Callback* ModalCallbackFunction::create (std::function<void(int)> f)
|
|
|
|
{
|
|
|
|
return new LambdaCallback (f);
|
|
|
|
}
|
|
|
|
#endif
|