summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Skoland <david.skoland@qt.io>2021-12-15 16:21:16 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-03-02 21:22:52 +0000
commit844eab73219ee1b4aba8cef982c60c60daf370e8 (patch)
tree3dd4da843e9ac0bf03824ac2a3846e26d8bc76ce
parent60e7a5ddc26b4b80cb9bea8404d2fab981cdcfb2 (diff)
Close WASM popups on non-accepted clicks
Generally, all clicks that weren't in a window or weren't handled should trigger a closing of all popups. Fixes: QTBUG-90990 Change-Id: I40e6351b265e95e0570e7c5d42f3d5b222538453 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> (cherry picked from commit 0e64165c2e7b14502a578f3508e5544b035e404e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/plugins/platforms/wasm/qwasmcompositor.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/platforms/wasm/qwasmcompositor.cpp b/src/plugins/platforms/wasm/qwasmcompositor.cpp
index 048dcfa2fc..7ef53e3f14 100644
--- a/src/plugins/platforms/wasm/qwasmcompositor.cpp
+++ b/src/plugins/platforms/wasm/qwasmcompositor.cpp
@@ -1121,11 +1121,15 @@ bool QWasmCompositor::processMouse(int eventType, const EmscriptenMouseEvent *mo
lastWindow = nullptr;
interior = true;
}
- bool accepted = true;
+ bool accepted = false;
if (window2 && interior) {
accepted = QWindowSystemInterface::handleMouseEvent<QWindowSystemInterface::SynchronousDelivery>(
window2, QWasmIntegration::getTimestamp(), localPoint, globalPoint, pressedButtons, button, buttonEventType, modifiers);
}
+
+ if (eventType == EMSCRIPTEN_EVENT_MOUSEDOWN && !accepted)
+ QGuiApplicationPrivate::instance()->closeAllPopups();
+
return accepted;
}