diff --git a/src/plugins/platforms/wasm/qwasmwindowclientarea.cpp b/src/plugins/platforms/wasm/qwasmwindowclientarea.cpp index 4908f6d130d..6da3e24c050 100644 --- a/src/plugins/platforms/wasm/qwasmwindowclientarea.cpp +++ b/src/plugins/platforms/wasm/qwasmwindowclientarea.cpp @@ -68,8 +68,10 @@ bool ClientArea::processPointer(const PointerEvent &event) switch (event.type) { case EventType::PointerDown: m_element.call("setPointerCapture", event.pointerId); - if ((m_window->window()->flags() & Qt::WindowDoesNotAcceptFocus) != Qt::WindowDoesNotAcceptFocus) - m_window->window()->requestActivate(); + if ((m_window->window()->flags() & Qt::WindowDoesNotAcceptFocus) + != Qt::WindowDoesNotAcceptFocus + && m_window->window()->isTopLevel()) + m_window->window()->requestActivate(); break; case EventType::PointerUp: m_element.call("releasePointerCapture", event.pointerId);