diff options
Diffstat (limited to 'src/plugins/platforms/android/qandroideventdispatcher.cpp')
-rw-r--r-- | src/plugins/platforms/android/qandroideventdispatcher.cpp | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/src/plugins/platforms/android/qandroideventdispatcher.cpp b/src/plugins/platforms/android/qandroideventdispatcher.cpp index aecea0d4e1..3f1cfe18b9 100644 --- a/src/plugins/platforms/android/qandroideventdispatcher.cpp +++ b/src/plugins/platforms/android/qandroideventdispatcher.cpp @@ -77,8 +77,11 @@ void QAndroidEventDispatcher::goingToStop(bool stop) wakeUp(); } -int QAndroidEventDispatcher::select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, timespec *timeout) +bool QAndroidEventDispatcher::processEvents(QEventLoop::ProcessEventsFlags flags) { + if (m_goingToStop.load()) + flags |= QEventLoop::ExcludeSocketNotifiers | QEventLoop::X11ExcludeTimers; + { AndroidDeadlockProtector protector; if (protector.acquire() && m_stopRequest.testAndSetAcquire(StopRequest, Stopping)) { @@ -86,21 +89,10 @@ int QAndroidEventDispatcher::select(int nfds, fd_set *readfds, fd_set *writefds, wakeUp(); } } - return QUnixEventDispatcherQPA::select(nfds, readfds, writefds, exceptfds, timeout); -} -bool QAndroidEventDispatcher::processEvents(QEventLoop::ProcessEventsFlags flags) -{ - if (m_goingToStop.load()) { - return QUnixEventDispatcherQPA::processEvents(flags /*| QEventLoop::ExcludeUserInputEvents*/ - | QEventLoop::ExcludeSocketNotifiers - | QEventLoop::X11ExcludeTimers); - } else { - return QUnixEventDispatcherQPA::processEvents(flags); - } + return QUnixEventDispatcherQPA::processEvents(flags); } - QAndroidEventDispatcherStopper *QAndroidEventDispatcherStopper::instance() { static QAndroidEventDispatcherStopper androidEventDispatcherStopper; |