diff options
Diffstat (limited to 'src/plugins/platforms')
4 files changed, 7 insertions, 8 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoaeventdispatcher.mm b/src/plugins/platforms/cocoa/qcocoaeventdispatcher.mm index 9a661ffe5a..8dfaacdf13 100644 --- a/src/plugins/platforms/cocoa/qcocoaeventdispatcher.mm +++ b/src/plugins/platforms/cocoa/qcocoaeventdispatcher.mm @@ -876,6 +876,7 @@ void QCocoaEventDispatcherPrivate::processPostedEvents() int serial = serialNumber.load(); if (!threadData->canWait || (serial != lastSerial)) { lastSerial = serial; + QCoreApplication::sendPostedEvents(); QWindowSystemInterface::sendWindowSystemEvents(QEventLoop::AllEvents); } } diff --git a/src/plugins/platforms/offscreen/qoffscreenintegration.cpp b/src/plugins/platforms/offscreen/qoffscreenintegration.cpp index 5b74ad3b8d..bce52963df 100644 --- a/src/plugins/platforms/offscreen/qoffscreenintegration.cpp +++ b/src/plugins/platforms/offscreen/qoffscreenintegration.cpp @@ -73,9 +73,9 @@ public: bool processEvents(QEventLoop::ProcessEventsFlags flags) { - bool didSendEvents = QWindowSystemInterface::sendWindowSystemEvents(flags); + bool didSendEvents = BaseEventDispatcher::processEvents(flags); - return BaseEventDispatcher::processEvents(flags) || didSendEvents; + return QWindowSystemInterface::sendWindowSystemEvents(flags) || didSendEvents; } bool hasPendingEvents() diff --git a/src/plugins/platforms/qnx/qqnxeventdispatcher_blackberry.cpp b/src/plugins/platforms/qnx/qqnxeventdispatcher_blackberry.cpp index 87ce64da5e..42fd0ed8bf 100644 --- a/src/plugins/platforms/qnx/qqnxeventdispatcher_blackberry.cpp +++ b/src/plugins/platforms/qnx/qqnxeventdispatcher_blackberry.cpp @@ -58,12 +58,8 @@ QQnxEventDispatcherBlackberry::~QQnxEventDispatcherBlackberry() bool QQnxEventDispatcherBlackberry::processEvents(QEventLoop::ProcessEventsFlags flags) { - const bool didSendEvents = QWindowSystemInterface::sendWindowSystemEvents(flags); - - if (QEventDispatcherBlackberry::processEvents(flags)) - return true; - - return didSendEvents; + const bool didSendEvents = QEventDispatcherBlackberry::processEvents(flags); + return QWindowSystemInterface::sendWindowSystemEvents(flags) || didSendEvents; } bool QQnxEventDispatcherBlackberry::hasPendingEvents() diff --git a/src/plugins/platforms/windows/qwindowsguieventdispatcher.cpp b/src/plugins/platforms/windows/qwindowsguieventdispatcher.cpp index 0d7de2da39..6be71999f6 100644 --- a/src/plugins/platforms/windows/qwindowsguieventdispatcher.cpp +++ b/src/plugins/platforms/windows/qwindowsguieventdispatcher.cpp @@ -44,6 +44,7 @@ #include <qpa/qwindowsysteminterface.h> +#include <QtCore/QCoreApplication> #include <QtCore/QStack> #include <QtCore/QDebug> @@ -83,6 +84,7 @@ bool QWindowsGuiEventDispatcher::processEvents(QEventLoop::ProcessEventsFlags fl void QWindowsGuiEventDispatcher::sendPostedEvents() { + QCoreApplication::sendPostedEvents(); QWindowSystemInterface::sendWindowSystemEvents(m_flags); } |