diff options
author | Mikolaj Boc <mikolaj.boc@qt.io> | 2022-09-06 14:22:27 +0200 |
---|---|---|
committer | Mikolaj Boc <mikolaj.boc@qt.io> | 2022-09-08 21:12:52 +0200 |
commit | 06f5c9ca6094c28db765830e377ddeada07c1ba3 (patch) | |
tree | 89e24f1197c36c16ddc805a01e18106ad217a6e1 /src/plugins/platforms | |
parent | 17e8f322ebca42275d23b7a54b9f4161fc851c2b (diff) |
Leave exposition to invalidate() in QWasmWindow::raise&lower
The window may be in a temporary state where the window()->handle() is
not yet set up. This makes an expose event with isExposed == false being
issued, which makes the window not refresh, especially when a async expose
request follows shortly after.
invalidate() handles this case itself as it issues a request to the
compositor which exposes the window at the right moment.
Fixes: QTBUG-106159
Change-Id: Ibc84490c379774120ab65978472e35be25240164
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r-- | src/plugins/platforms/wasm/qwasmwindow.cpp | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/src/plugins/platforms/wasm/qwasmwindow.cpp b/src/plugins/platforms/wasm/qwasmwindow.cpp index 08e8eec9b1..700a7ef75a 100644 --- a/src/plugins/platforms/wasm/qwasmwindow.cpp +++ b/src/plugins/platforms/wasm/qwasmwindow.cpp @@ -183,16 +183,12 @@ QMargins QWasmWindow::frameMargins() const void QWasmWindow::raise() { m_compositor->raise(this); - if (window()->isVisible()) - QWindowSystemInterface::handleExposeEvent(window(), QRect(QPoint(0, 0), geometry().size())); invalidate(); } void QWasmWindow::lower() { m_compositor->lower(this); - if (window()->isVisible()) - QWindowSystemInterface::handleExposeEvent(window(), QRect(QPoint(0, 0), geometry().size())); invalidate(); } |