diff options
author | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> | 2013-10-18 12:42:42 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-10-25 09:52:37 +0200 |
commit | 8fd9fe209934ac92210ed3b81723ad5e21a98a30 (patch) | |
tree | 76c86b2c40996b84e3c9397b3061ca2b302e41f4 /src/plugins/platforms/android/src/androidjnimain.cpp | |
parent | f609e65a911efad7472a18fcbed983936af116b8 (diff) |
Android: Fix repaint on rotation
After f89f099c55576992b39a8021aace64ff32747624, we no longer
post a geometry-change and expose event when calling setGeometry,
which the Android plugin depended on. This caused the window to
stay the same size when it was resized by orientation changes.
We put back the events in the code that calls setGeometry()
instead.
Task-number: QTBUG-32878
Change-Id: I449515dda07c839e0991c5a7031a972ca9c74dff
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Diffstat (limited to 'src/plugins/platforms/android/src/androidjnimain.cpp')
-rw-r--r-- | src/plugins/platforms/android/src/androidjnimain.cpp | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/src/plugins/platforms/android/src/androidjnimain.cpp b/src/plugins/platforms/android/src/androidjnimain.cpp index 5c9ca798a8..34413ae509 100644 --- a/src/plugins/platforms/android/src/androidjnimain.cpp +++ b/src/plugins/platforms/android/src/androidjnimain.cpp @@ -247,17 +247,6 @@ namespace QtAndroid m_surfaceMutex.unlock(); return m_nativeWindow; } - - QSize nativeWindowSize() - { - if (m_nativeWindow == 0) - return QAndroidPlatformIntegration::defaultDesktopSize(); - - int width = ANativeWindow_getWidth(m_nativeWindow); - int height = ANativeWindow_getHeight(m_nativeWindow); - - return QSize(width, height); - } #endif void setAndroidPlatformIntegration(QAndroidPlatformIntegration *androidPlatformIntegration) @@ -564,7 +553,9 @@ static void setSurface(JNIEnv *env, jobject /*thiz*/, jobject jSurface) m_waitForWindowSemaphore.release(); if (m_androidPlatformIntegration) { - QSize size = QtAndroid::nativeWindowSize(); + // Use the desktop size. + // On some devices, the getters for the native window size gives wrong values + QSize size = QAndroidPlatformIntegration::defaultDesktopSize(); QPlatformScreen *screen = m_androidPlatformIntegration->screen(); QRect geometry(QPoint(0, 0), size); |