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 QWasmScreen::allWindows() { QList windows; for (auto *child : childStack()) { - QWindowList list = child->window()->findChildren(Qt::FindChildrenRecursively); - std::transform( - list.begin(), list.end(), std::back_inserter(windows), - [](const QWindow *window) { return static_cast(window->handle()); }); + const QWindowList list = child->window()->findChildren(Qt::FindChildrenRecursively); + for (auto child : list) { + auto handle = child->handle(); + if (handle) { + auto wnd = static_cast(handle); + windows.push_back(wnd); + } + } windows.push_back(child); } return windows;