summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLorn Potter <lorn.potter@gmail.com>2019-10-17 08:43:49 +1000
committerLorn Potter <lorn.potter@gmail.com>2019-11-01 11:03:28 +1000
commit26f9cb7ce5a81eac9743d0dd183f59ceb7e73569 (patch)
tree5dc287e0496009d38c445a4463b210a89f47d514 /src
parenta62a6b9b173dadb24bbf6b98e493910c8ddc410e (diff)
wasm: take canvas offset into account
This fixes issue with dialogs when the canvas is not at 0,0 in the browser window Change-Id: I14f6754746e064921635d6b3af3353bf3620ac44 Fixes: QTBUG-79160 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/platforms/wasm/qwasmscreen.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/platforms/wasm/qwasmscreen.cpp b/src/plugins/platforms/wasm/qwasmscreen.cpp
index e536bc0ee3..37f1ea832a 100644
--- a/src/plugins/platforms/wasm/qwasmscreen.cpp
+++ b/src/plugins/platforms/wasm/qwasmscreen.cpp
@@ -186,8 +186,12 @@ void QWasmScreen::updateQScreenAndCanvasRenderSize()
canvas.set("width", canvasSize.width());
canvas.set("height", canvasSize.height());
+ QPoint offset;
+ offset.setX(emscripten::val::global(canvasId.constData())["offsetTop"].as<int>());
+ offset.setY(emscripten::val::global(canvasId.constData())["offsetLeft"].as<int>());
+
emscripten::val rect = canvas.call<emscripten::val>("getBoundingClientRect");
- QPoint position(rect["left"].as<int>(), rect["top"].as<int>());
+ QPoint position(rect["left"].as<int>() - offset.x(), rect["top"].as<int>() - offset.y());
setGeometry(QRect(position, cssSize.toSize()));
m_compositor->redrawWindowContent();