diff options
| author | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2025-09-08 14:40:10 +0300 |
|---|---|---|
| committer | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2025-09-09 02:03:34 +0000 |
| commit | b99304cb39b225a5977e73c7554b07115f7859c5 (patch) | |
| tree | e00e75483a209890547694b013351110047ccd43 /src/plugins/platforms/android/qandroidplatformwindow.cpp | |
| parent | 0af13fec5a59a25eaf705fa101ebecfe5e0277db (diff) | |
Android: fix rendering glitch after window size changes
Currently, apps might end up with half of the window size not rendered
or not reflecting size changes. When the root layout size changes, the
available size is reported but the screen size is not always sent from
Android callbacks, this is the case after an orientation change. So
make sure here to update the the screen geometry also when receiving
the available geometry.
This part amends 7dcf58eedbeb0cbfbf01f3aabfb72f8546f96cdf.
However, the issue was still present in 6.9 and 6.8 before that above
commit, to fix that, it's needed to call sendExpose() to send expose
event for the window in the new region, and this after propagating
the surface change from QtSurface to the platform window.
Pick-to: 6.8 6.9 6.10 6.10.0
Fixes: QTBUG-132718
Fixes: QTBUG-134082
Task-number: QTBUG-124140
Change-Id: I390aaba45f324693dc47d7d0110fdb22dc9aca61
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/plugins/platforms/android/qandroidplatformwindow.cpp')
| -rw-r--r-- | src/plugins/platforms/android/qandroidplatformwindow.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/plugins/platforms/android/qandroidplatformwindow.cpp b/src/plugins/platforms/android/qandroidplatformwindow.cpp index de0271edb56..da875a7cd98 100644 --- a/src/plugins/platforms/android/qandroidplatformwindow.cpp +++ b/src/plugins/platforms/android/qandroidplatformwindow.cpp @@ -325,6 +325,8 @@ void QAndroidPlatformWindow::onSurfaceChanged(QtJniTypes::Surface surface) clearSurface(); } + sendExpose(); + unlockSurface(); } |
