diff options
-rw-r--r-- | src/plugins/platforms/android/qandroidplatformwindow.cpp | 10 | ||||
-rw-r--r-- | tests/auto/gui/kernel/qwindow/BLACKLIST | 9 |
2 files changed, 10 insertions, 9 deletions
diff --git a/src/plugins/platforms/android/qandroidplatformwindow.cpp b/src/plugins/platforms/android/qandroidplatformwindow.cpp index a88cb9b823..c64805b4e2 100644 --- a/src/plugins/platforms/android/qandroidplatformwindow.cpp +++ b/src/plugins/platforms/android/qandroidplatformwindow.cpp @@ -46,6 +46,7 @@ #include <qguiapplication.h> #include <qpa/qwindowsysteminterface.h> +#include <private/qhighdpiscaling_p.h> QT_BEGIN_NAMESPACE @@ -58,6 +59,15 @@ QAndroidPlatformWindow::QAndroidPlatformWindow(QWindow *window) m_windowState = Qt::WindowNoState; m_windowId = winIdGenerator.fetchAndAddRelaxed(1) + 1; setWindowState(window->windowStates()); + + const bool forceMaximize = m_windowState & (Qt::WindowMaximized | Qt::WindowFullScreen); + const QRect requestedGeometry = forceMaximize ? QRect() : window->geometry(); + const QRect availableGeometry = (window->parent()) ? window->parent()->geometry() : platformScreen()->availableGeometry(); + const QRect finalGeometry = QPlatformWindow::initialGeometry(window, requestedGeometry, + availableGeometry.width(), availableGeometry.height()); + + if (requestedGeometry != finalGeometry) + setGeometry(QHighDpi::toNativePixels(finalGeometry, window)); } void QAndroidPlatformWindow::lower() diff --git a/tests/auto/gui/kernel/qwindow/BLACKLIST b/tests/auto/gui/kernel/qwindow/BLACKLIST index 410ba54f3d..6c500ba22c 100644 --- a/tests/auto/gui/kernel/qwindow/BLACKLIST +++ b/tests/auto/gui/kernel/qwindow/BLACKLIST @@ -10,9 +10,6 @@ macos ci # QTBUG-69160 opensuse-leap android -[setVisible] -# QTBUG-69154 -android [modalWindowEnterEventOnHide_QTBUG35109] osx android @@ -23,15 +20,9 @@ windows-10 android [testInputEvents] rhel-7.4 -[initialSize] -# QTBUG-69159 -android [modalWindowPosition] # QTBUG-69161 android -[childWindowPositioning:show] -# QTBUG-69156 -android # QTBUG-87392 [paintEvent] android |