|
|
@@ -131,6 +131,22 @@ void MessageManager::stopDispatchLoop() |
|
|
#endif
|
|
|
#endif
|
|
|
|
|
|
|
|
|
//==============================================================================
|
|
|
//==============================================================================
|
|
|
|
|
|
struct AsyncFunction : private MessageManager::MessageBase
|
|
|
|
|
|
{
|
|
|
|
|
|
AsyncFunction (std::function<void(void)> f) : fn (f) { post(); }
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
std::function<void(void)> fn;
|
|
|
|
|
|
void messageCallback() override { fn(); }
|
|
|
|
|
|
|
|
|
|
|
|
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AsyncFunction)
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
void MessageManager::callAsync (std::function<void(void)> f)
|
|
|
|
|
|
{
|
|
|
|
|
|
new AsyncFunction (f);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
class AsyncFunctionCallback : public MessageManager::MessageBase
|
|
|
class AsyncFunctionCallback : public MessageManager::MessageBase
|
|
|
{
|
|
|
{
|
|
|
public:
|
|
|
public:
|
|
|
|