summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wasm/qwasmcompositor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/wasm/qwasmcompositor.cpp')
-rw-r--r--src/plugins/platforms/wasm/qwasmcompositor.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/plugins/platforms/wasm/qwasmcompositor.cpp b/src/plugins/platforms/wasm/qwasmcompositor.cpp
index a892f7077b7..8ba67040a5b 100644
--- a/src/plugins/platforms/wasm/qwasmcompositor.cpp
+++ b/src/plugins/platforms/wasm/qwasmcompositor.cpp
@@ -606,6 +606,8 @@ bool QWasmCompositor::processPointer(const PointerEvent& event)
switch (event.type) {
case EventType::PointerDown:
{
+ screen()->canvas().call<void>("setPointerCapture", event.pointerId);
+
if (targetWindow)
targetWindow->requestActivate();
@@ -619,6 +621,8 @@ bool QWasmCompositor::processPointer(const PointerEvent& event)
}
case EventType::PointerUp:
{
+ screen()->canvas().call<void>("releasePointerCapture", event.pointerId);
+
m_windowManipulation.onPointerUp(event);
if (m_pressedWindow) {
@@ -779,8 +783,6 @@ void QWasmCompositor::WindowManipulation::onPointerDown(
.window = windowAtPoint,
.operationSpecific = std::move(*operationSpecific),
});
-
- m_screen->canvas().call<void>("setPointerCapture", event.pointerId);
}
void QWasmCompositor::WindowManipulation::onPointerMove(
@@ -818,7 +820,6 @@ void QWasmCompositor::WindowManipulation::onPointerUp(const PointerEvent& event)
return;
m_state.reset();
- m_screen->canvas().call<void>("releasePointerCapture", event.pointerId);
}
bool QWasmCompositor::processKeyboard(int eventType, const EmscriptenKeyboardEvent *emKeyEvent)