From 26f9cb7ce5a81eac9743d0dd183f59ceb7e73569 Mon Sep 17 00:00:00 2001 From: Lorn Potter Date: Thu, 17 Oct 2019 08:43:49 +1000 Subject: wasm: take canvas offset into account MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/plugins/platforms/wasm/qwasmscreen.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/plugins/platforms') 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()); + offset.setY(emscripten::val::global(canvasId.constData())["offsetLeft"].as()); + emscripten::val rect = canvas.call("getBoundingClientRect"); - QPoint position(rect["left"].as(), rect["top"].as()); + QPoint position(rect["left"].as() - offset.x(), rect["top"].as() - offset.y()); setGeometry(QRect(position, cssSize.toSize())); m_compositor->redrawWindowContent(); -- cgit v1.2.3