diff options
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/platforms/android/qandroidplatformscreen.cpp | 4 | ||||
-rw-r--r-- | src/plugins/platforms/android/qandroidplatformwindow.cpp | 8 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/plugins/platforms/android/qandroidplatformscreen.cpp b/src/plugins/platforms/android/qandroidplatformscreen.cpp index a4e82a29ef..41139941c8 100644 --- a/src/plugins/platforms/android/qandroidplatformscreen.cpp +++ b/src/plugins/platforms/android/qandroidplatformscreen.cpp @@ -131,6 +131,7 @@ void QAndroidPlatformScreen::addWindow(QAndroidPlatformWindow *window) if (window->parent() && window->isRaster()) return; + Q_ASSERT(!m_windowStack.contains(window)); m_windowStack.prepend(window); if (window->isRaster()) { m_rasterSurfaces.ref(); @@ -147,7 +148,10 @@ void QAndroidPlatformScreen::removeWindow(QAndroidPlatformWindow *window) if (window->parent() && window->isRaster()) return; + + Q_ASSERT(m_windowStack.contains(window)); m_windowStack.removeOne(window); + Q_ASSERT(!m_windowStack.contains(window)); if (window->isRaster()) { m_rasterSurfaces.deref(); diff --git a/src/plugins/platforms/android/qandroidplatformwindow.cpp b/src/plugins/platforms/android/qandroidplatformwindow.cpp index 03cb186a81..1207d7c90b 100644 --- a/src/plugins/platforms/android/qandroidplatformwindow.cpp +++ b/src/plugins/platforms/android/qandroidplatformwindow.cpp @@ -82,15 +82,15 @@ void QAndroidPlatformWindow::setVisible(bool visible) setGeometry(platformScreen()->availableGeometry()); } - QRect availableGeometry = screen()->availableGeometry(); - if (geometry().width() > 0 && geometry().height() > 0 && availableGeometry.width() > 0 && availableGeometry.height() > 0) - QPlatformWindow::setVisible(visible); - if (visible) platformScreen()->addWindow(this); else platformScreen()->removeWindow(this); + QRect availableGeometry = screen()->availableGeometry(); + if (geometry().width() > 0 && geometry().height() > 0 && availableGeometry.width() > 0 && availableGeometry.height() > 0) + QPlatformWindow::setVisible(visible); + // The Android Activity is activated before Qt is initialized, causing the application state to // never be set to 'active'. We explicitly set this state when the first window becomes visible. if (visible) |