summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/android/qandroidplatformwindow.cpp
diff options
context:
space:
mode:
authorAssam Boudjelthia <assam.boudjelthia@qt.io>2025-09-08 14:40:10 +0300
committerAssam Boudjelthia <assam.boudjelthia@qt.io>2025-09-09 02:03:34 +0000
commitb99304cb39b225a5977e73c7554b07115f7859c5 (patch)
treee00e75483a209890547694b013351110047ccd43 /src/plugins/platforms/android/qandroidplatformwindow.cpp
parent0af13fec5a59a25eaf705fa101ebecfe5e0277db (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.cpp2
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();
}