From 83b61391491341c67f7e6b6ed3b337f6034a2eec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20S=C3=B8rvig?= Date: Tue, 25 Feb 2025 16:03:13 +0100 Subject: [PATCH] wasm: use QWasmWindow::fromWindow() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make it test for null QWindow and handle(), use it instead of C-style casting handle(). Change-Id: I7ffb1ef5d3d3c09c8ae44ec0141e93530a04abe6 Reviewed-by: Even Oscar Andersen Reviewed-by: Piotr WierciƄski --- src/plugins/platforms/wasm/qwasminputcontext.cpp | 4 ++-- src/plugins/platforms/wasm/qwasmwindow.cpp | 4 +++- src/plugins/platforms/wasm/qwasmwindow.h | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/plugins/platforms/wasm/qwasminputcontext.cpp b/src/plugins/platforms/wasm/qwasminputcontext.cpp index 76328aa6db8..a5e54d9c7b8 100644 --- a/src/plugins/platforms/wasm/qwasminputcontext.cpp +++ b/src/plugins/platforms/wasm/qwasminputcontext.cpp @@ -327,8 +327,8 @@ void QWasmInputContext::updateInputElement() m_inputElement.set("value", ""); m_inputElement.call("blur"); - if (focusWindow && focusWindow->handle()) - ((QWasmWindow *)(focusWindow->handle()))->focus(); + if (QWasmWindow *wasmwindow = QWasmWindow::fromWindow(focusWindow)) + wasmwindow->focus(); return; } diff --git a/src/plugins/platforms/wasm/qwasmwindow.cpp b/src/plugins/platforms/wasm/qwasmwindow.cpp index 1bfcd75e3f4..83a4689fc1b 100644 --- a/src/plugins/platforms/wasm/qwasmwindow.cpp +++ b/src/plugins/platforms/wasm/qwasmwindow.cpp @@ -211,8 +211,10 @@ QSurfaceFormat QWasmWindow::format() const return window()->requestedFormat(); } -QWasmWindow *QWasmWindow::fromWindow(QWindow *window) +QWasmWindow *QWasmWindow::fromWindow(const QWindow *window) { + if (!window ||!window->handle()) + return nullptr; return static_cast(window->handle()); } diff --git a/src/plugins/platforms/wasm/qwasmwindow.h b/src/plugins/platforms/wasm/qwasmwindow.h index 3dcf8bd894c..be424753d3f 100644 --- a/src/plugins/platforms/wasm/qwasmwindow.h +++ b/src/plugins/platforms/wasm/qwasmwindow.h @@ -45,7 +45,7 @@ public: QWasmBackingStore *backingStore, WId nativeHandle); ~QWasmWindow() final; - static QWasmWindow *fromWindow(QWindow *window); + static QWasmWindow *fromWindow(const QWindow *window); QSurfaceFormat format() const override; void registerEventHandlers();