diff options
author | Alexandra Cherdantseva <neluhus.vagus@gmail.com> | 2019-12-30 14:40:03 +0300 |
---|---|---|
committer | Alexandra Cherdantseva <neluhus.vagus@gmail.com> | 2020-01-13 11:07:21 +0300 |
commit | 18e06c37e10943f4b4f6d57b7044b9bce3a23202 (patch) | |
tree | 6d648b6b185025e1bee930e2cd0f3de4a74b85c8 /src/plugins/platforms/wasm/qwasmeventtranslator.cpp | |
parent | 3d1e257770e8c79c7cd9a08f9caf1bd8395cb10c (diff) |
wasm: do not get canvas as property of js global object
You cannot be sure that property with specified key in
a global object is really a canvas.
Should use `document.getElementById`.
Change-Id: Ife55adaad5517aed64122b0c9bff32489cf19a2f
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Diffstat (limited to 'src/plugins/platforms/wasm/qwasmeventtranslator.cpp')
-rw-r--r-- | src/plugins/platforms/wasm/qwasmeventtranslator.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/plugins/platforms/wasm/qwasmeventtranslator.cpp b/src/plugins/platforms/wasm/qwasmeventtranslator.cpp index ad94ba9c77..8b7d00082f 100644 --- a/src/plugins/platforms/wasm/qwasmeventtranslator.cpp +++ b/src/plugins/platforms/wasm/qwasmeventtranslator.cpp @@ -47,9 +47,10 @@ #include <iostream> -QT_BEGIN_NAMESPACE using namespace emscripten; +QT_BEGIN_NAMESPACE + typedef struct emkb2qt { const char *em; unsigned int qt; @@ -353,10 +354,11 @@ void QWasmEventTranslator::initEventHandlers() g_useNaturalScrolling = false; // make this !default on macOS if (emscripten::val::global("window")["safari"].isUndefined()) { - - emscripten::val::global(canvasId).call<void>("addEventListener", - std::string("wheel"), - val::module_property("qtMouseWheelEvent")); + val document = val::global("document"); + val canvas = document.call<val>("getElementById", val(canvasId)); + canvas.call<void>("addEventListener", + std::string("wheel"), + val::module_property("qtMouseWheelEvent")); } } |