diff options
Diffstat (limited to 'src/plugins/platforms/wasm/qwasmscreen.cpp')
-rw-r--r-- | src/plugins/platforms/wasm/qwasmscreen.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/plugins/platforms/wasm/qwasmscreen.cpp b/src/plugins/platforms/wasm/qwasmscreen.cpp index ddf8140c48..0490b2bfe0 100644 --- a/src/plugins/platforms/wasm/qwasmscreen.cpp +++ b/src/plugins/platforms/wasm/qwasmscreen.cpp @@ -361,10 +361,14 @@ QList<QWasmWindow *> QWasmScreen::allWindows() { QList<QWasmWindow *> windows; for (auto *child : childStack()) { - QWindowList list = child->window()->findChildren<QWindow *>(Qt::FindChildrenRecursively); - std::transform( - list.begin(), list.end(), std::back_inserter(windows), - [](const QWindow *window) { return static_cast<QWasmWindow *>(window->handle()); }); + const QWindowList list = child->window()->findChildren<QWindow *>(Qt::FindChildrenRecursively); + for (auto child : list) { + auto handle = child->handle(); + if (handle) { + auto wnd = static_cast<QWasmWindow *>(handle); + windows.push_back(wnd); + } + } windows.push_back(child); } return windows; |