diff options
| author | Lorn Potter <lorn.potter@qt.io> | 2024-09-24 15:23:11 +1000 |
|---|---|---|
| committer | Lorn Potter <lorn.potter@qt.io> | 2024-10-11 11:03:12 +1000 |
| commit | 8a93093271329f1fb867c0627e63f61ed7330860 (patch) | |
| tree | 4c8bc0ffa38a6c96928d14b76b972bd4f078bb81 /src/plugins/platforms/wasm/qwasmwindowclientarea.cpp | |
| parent | d13de6afbefb3c9306561216ea9a0efc0c11374b (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.cpp | 7 |
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) |
