45 if (waitForSucceeded(predicate()))
58 QCoreApplication::processEvents(QEventLoop::AllEvents);
59 QCoreApplication::sendPostedEvents(
nullptr, QEvent::DeferredDelete);
61 if (
auto predresult = predicate(); waitForSucceeded(predresult))
63 else if (!waitForMore(predresult))
66 using namespace std::chrono;
68 if (
const auto remaining = deadline.remainingTimeAsDuration(); remaining > 0ns)
69 qSleep((std::min)(10ms, ceil<milliseconds>(remaining)));
71 }
while (!deadline.hasExpired());
73 return waitForSucceeded(predicate());