diff options
Diffstat (limited to 'src/plugins/platforms/android')
3 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/platforms/android/androidjnimain.cpp b/src/plugins/platforms/android/androidjnimain.cpp index e47dd91a3e..6a0d03d473 100644 --- a/src/plugins/platforms/android/androidjnimain.cpp +++ b/src/plugins/platforms/android/androidjnimain.cpp @@ -142,6 +142,7 @@ namespace QtAndroid // flush the pending state if necessary. if (m_androidPlatformIntegration) { flushPendingApplicationState(); + m_androidPlatformIntegration->flushPendingUpdates(); } else { QMutexLocker locker(&m_pendingAppStateMtx); m_pendingApplicationState = -1; @@ -627,6 +628,7 @@ static void setDisplayMetrics(JNIEnv */*env*/, jclass /*clazz*/, m_scaledDensity = scaledDensity; m_density = density; + QMutexLocker lock(&m_surfacesMutex); if (!m_androidPlatformIntegration) { QAndroidPlatformIntegration::setDefaultDisplayMetrics(desktopWidthPixels, desktopHeightPixels, diff --git a/src/plugins/platforms/android/qandroidplatformintegration.cpp b/src/plugins/platforms/android/qandroidplatformintegration.cpp index d8bba4f8e9..403badb2e1 100644 --- a/src/plugins/platforms/android/qandroidplatformintegration.cpp +++ b/src/plugins/platforms/android/qandroidplatformintegration.cpp @@ -405,6 +405,14 @@ void QAndroidPlatformIntegration::setScreenOrientation(Qt::ScreenOrientation cur m_nativeOrientation = nativeOrientation; } +void QAndroidPlatformIntegration::flushPendingUpdates() +{ + m_primaryScreen->setPhysicalSize(QSize(m_defaultPhysicalSizeWidth, + m_defaultPhysicalSizeHeight)); + m_primaryScreen->setSize(QSize(m_defaultScreenWidth, m_defaultScreenHeight)); + m_primaryScreen->setAvailableGeometry(QRect(0, 0, m_defaultGeometryWidth, m_defaultGeometryHeight)); +} + #ifndef QT_NO_ACCESSIBILITY QPlatformAccessibility *QAndroidPlatformIntegration::accessibility() const { diff --git a/src/plugins/platforms/android/qandroidplatformintegration.h b/src/plugins/platforms/android/qandroidplatformintegration.h index 923670b9e6..337f4a9279 100644 --- a/src/plugins/platforms/android/qandroidplatformintegration.h +++ b/src/plugins/platforms/android/qandroidplatformintegration.h @@ -126,6 +126,8 @@ public: QTouchDevice *touchDevice() const { return m_touchDevice; } void setTouchDevice(QTouchDevice *touchDevice) { m_touchDevice = touchDevice; } + void flushPendingUpdates(); + private: EGLDisplay m_eglDisplay; QTouchDevice *m_touchDevice; |