52 #if JUCE_MODAL_LOOPS_PERMITTED
54 return runSync (std::move (native));
70 nativeImplementation->close();
79 result->self = result;
80 result->triggerAsyncUpdate();
86 auto local = std::move (p);
87 return local !=
nullptr ? local->runSync() : 0;
95 : callback (std::move (c)), nativeImplementation (std::move (p)) {}
97 void handleAsyncUpdate()
override
101 const auto notifyRecipient = [result, weakRecipient]
103 if (
const auto locked = weakRecipient.lock())
105 if (auto* cb = locked->callback.get())
106 cb->modalStateFinished (result);
108 locked->self.reset();