63bool QIOSEventDispatcher::processPostedEvents()
67 if (!QEventDispatcherCoreFoundation::processPostedEvents())
70 QT_APPLE_SCOPED_LOG_ACTIVITY(lcEventDispatcher().isDebugEnabled(),
"sendWindowSystemEvents");
71 QEventLoop::ProcessEventsFlags flags
72 = QEventLoop::ProcessEventsFlags(m_processEvents.flags.loadRelaxed());
73 qCDebug(lcEventDispatcher) <<
"Sending window system events for" << flags;
74 QWindowSystemInterface::sendWindowSystemEvents(flags);
88 if ([UIApplication qt_applicationAboutToTerminate]) {
89 qCDebug(lcEventDispatcher) <<
"Detected QEventLoop exec after application termination";
91 qApp->exit([UIApplication qt_applicationWillTerminateExitCode]);
95 const bool rootLevelProcessEvents = !m_processEventLevel;
97 ++m_processEventLevel;
98 bool processedEvents =
false;
100 if (rootLevelProcessEvents && (flags & QEventLoop::EventLoopExec)) {
101 QT_APPLE_SCOPED_LOG_ACTIVITY(lcEventDispatcher().isDebugEnabled(),
"processEvents");
102 qCDebug(lcEventDispatcher) <<
"Processing events with flags" << flags;
104 m_runLoopExitObserver.addToMode(kCFRunLoopCommonModes);
105 processedEvents = [UIApplication qt_eventDispatcherEnteredProcessEvents];
106 m_runLoopExitObserver.removeFromMode(kCFRunLoopCommonModes);
108 processedEvents = QEventDispatcherCoreFoundation::processEvents(flags);
111 --m_processEventLevel;
112 return processedEvents;