diff options
author | David Skoland <david.skoland@qt.io> | 2021-12-15 16:21:16 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-03-02 21:22:52 +0000 |
commit | 844eab73219ee1b4aba8cef982c60c60daf370e8 (patch) | |
tree | 3dd4da843e9ac0bf03824ac2a3846e26d8bc76ce | |
parent | 60e7a5ddc26b4b80cb9bea8404d2fab981cdcfb2 (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.cpp | 6 |
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; } |