From 2877f076ddf04eb1bdd6c9eff5d0d042aabfa57e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Tue, 17 Jan 2023 16:34:25 +0100 Subject: Respect custom QWSI event handler when delivering synchronous events Fixes: QTBUG-110268 Change-Id: I25195904cfc18d593db1be713b6e899e55eb922f Reviewed-by: Volker Hilsheimer (cherry picked from commit 2813e2814e185bf8d2426c5eb3d6b2c243ee72c3) Reviewed-by: Qt Cherry-pick Bot --- src/gui/kernel/qwindowsysteminterface.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qwindowsysteminterface.cpp b/src/gui/kernel/qwindowsysteminterface.cpp index 21091f66fa..051fe38a48 100644 --- a/src/gui/kernel/qwindowsysteminterface.cpp +++ b/src/gui/kernel/qwindowsysteminterface.cpp @@ -98,7 +98,12 @@ bool QWindowSystemHelper::handleEve if (QThread::currentThread() == QGuiApplication::instance()->thread()) { EventType event(args...); // Process the event immediately on the Gui thread and return the accepted state - QGuiApplicationPrivate::processWindowSystemEvent(&event); + if (QWindowSystemInterfacePrivate::eventHandler) { + if (!QWindowSystemInterfacePrivate::eventHandler->sendEvent(&event)) + return false; + } else { + QGuiApplicationPrivate::processWindowSystemEvent(&event); + } return event.eventAccepted; } else { // Post the event on the Qt main thread queue and flush the queue. -- cgit v1.2.3