summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wasm/qwasmwindowclientarea.cpp
diff options
context:
space:
mode:
authorLorn Potter <lorn.potter@qt.io>2024-09-24 15:23:11 +1000
committerLorn Potter <lorn.potter@qt.io>2024-10-11 11:03:12 +1000
commit8a93093271329f1fb867c0627e63f61ed7330860 (patch)
tree4c8bc0ffa38a6c96928d14b76b972bd4f078bb81 /src/plugins/platforms/wasm/qwasmwindowclientarea.cpp
parentd13de6afbefb3c9306561216ea9a0efc0c11374b (diff)
wasm: add dragleave event handling
Fixes: QTBUG-129149 Pick-to: 6.8 Change-Id: I946f43e3a696c801a60a9a209a70ccaf57252a60 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
Diffstat (limited to 'src/plugins/platforms/wasm/qwasmwindowclientarea.cpp')
-rw-r--r--src/plugins/platforms/wasm/qwasmwindowclientarea.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/platforms/wasm/qwasmwindowclientarea.cpp b/src/plugins/platforms/wasm/qwasmwindowclientarea.cpp
index 6da3e24c050..4a8d427e70b 100644
--- a/src/plugins/platforms/wasm/qwasmwindowclientarea.cpp
+++ b/src/plugins/platforms/wasm/qwasmwindowclientarea.cpp
@@ -60,6 +60,13 @@ ClientArea::ClientArea(QWasmWindow *window, QWasmScreen *screen, emscripten::val
QWasmDrag::instance()->onNativeDragFinished(&event);
});
+ m_dragLeaveCallback = std::make_unique<qstdweb::EventCallback>(
+ element, "dragleave", [this](emscripten::val webEvent) {
+ webEvent.call<void>("preventDefault");
+ auto event = *DragEvent::fromWeb(webEvent, m_window->window());
+ QWasmDrag::instance()->onNativeDragLeave(&event);
+ });
+
}
bool ClientArea::processPointer(const PointerEvent &event)