summaryrefslogtreecommitdiff
path: root/src/plugins/platforms/wasm/qwasmwindowstack.cpp
diff options
context:
space:
mode:
authorMikolaj Boc <mikolaj.boc@qt.io>2022-08-23 14:24:36 +0200
committerMikolaj Boc <mikolaj.boc@qt.io>2022-08-24 17:50:25 +0200
commit11f12521bcd9c76f0ff5c60fb8785aba33ec7ca7 (patch)
tree5cf2eb6ccad5143628146c793f84ae64e2b73261 /src/plugins/platforms/wasm/qwasmwindowstack.cpp
parent0acb56518d72c09650dd83ca34a7d5bb0763b06a (diff)
downloadqtbase-11f12521bcd9c76f0ff5c60fb8785aba33ec7ca7.tar.gz
Resolve window focusing problems on WASM
- Moved the modal window resolution to QWasmWindow::requestActivateWindow so that multiple async activation events are not issued in unpredictable patterns. - Request activation on added windows and on stack top in case of window removal Pick-to: 6.4 Change-Id: I6f02cf1b7e83abb7961caf311ffc83e91c8bf810 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/plugins/platforms/wasm/qwasmwindowstack.cpp')
-rw-r--r--src/plugins/platforms/wasm/qwasmwindowstack.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/plugins/platforms/wasm/qwasmwindowstack.cpp b/src/plugins/platforms/wasm/qwasmwindowstack.cpp
index 9ce6689c8d..cc1a3cad6a 100644
--- a/src/plugins/platforms/wasm/qwasmwindowstack.cpp
+++ b/src/plugins/platforms/wasm/qwasmwindowstack.cpp
@@ -18,7 +18,7 @@ void QWasmWasmWindowStack::pushWindow(QWasmWindow *window)
m_windowStack.push_back(window);
- m_topWindowChangedCallback(window);
+ m_topWindowChangedCallback();
}
void QWasmWasmWindowStack::removeWindow(QWasmWindow *window)
@@ -34,7 +34,7 @@ void QWasmWasmWindowStack::removeWindow(QWasmWindow *window)
m_windowStack.erase(it);
if (removingTop)
- m_topWindowChangedCallback(topWindow());
+ m_topWindowChangedCallback();
}
void QWasmWasmWindowStack::raise(QWasmWindow *window)
@@ -46,7 +46,7 @@ void QWasmWasmWindowStack::raise(QWasmWindow *window)
auto it = std::find(regularWindowsBegin(), m_windowStack.end(), window);
std::rotate(it, it + 1, m_windowStack.end());
- m_topWindowChangedCallback(topWindow());
+ m_topWindowChangedCallback();
}
void QWasmWasmWindowStack::lower(QWasmWindow *window)
@@ -60,7 +60,7 @@ void QWasmWasmWindowStack::lower(QWasmWindow *window)
auto it = std::find(regularWindowsBegin(), m_windowStack.end(), window);
std::rotate(regularWindowsBegin(), it, it + 1);
if (loweringTopWindow && topWindow() != window)
- m_topWindowChangedCallback(topWindow());
+ m_topWindowChangedCallback();
}
QWasmWasmWindowStack::iterator QWasmWasmWindowStack::begin()