From 4cc84dc31c27f9c266106aba8e1e08f652e93c4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20S=C3=B8rvig?= Date: Thu, 7 Jul 2022 11:07:41 +0200 Subject: [PATCH] Revert "Apply ScaleFactorRoundingPolicy to QT_SCREEN_SCALE_FACTORS" Unblock the qtdeclarative dependency update. This behavior change is causing a regression for QQmlPreviewHandler's zoom feature. Back out of the change for now, until we can find a way to make both use cases work. This reverts commit 1c0a56a2f3300750978f2d6c703b2b917e03e718. Change-Id: I1b3d84504bbcb4f2b2250a20194fdaf4ab4fd97f Reviewed-by: Fabian Kosmale --- src/gui/kernel/qhighdpiscaling.cpp | 4 +--- tests/auto/gui/kernel/qhighdpi/tst_qhighdpi.cpp | 15 +-------------- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/src/gui/kernel/qhighdpiscaling.cpp b/src/gui/kernel/qhighdpiscaling.cpp index 6c34af1f9f8..2f759158ee6 100644 --- a/src/gui/kernel/qhighdpiscaling.cpp +++ b/src/gui/kernel/qhighdpiscaling.cpp @@ -540,10 +540,8 @@ static const char scaleFactorProperty[] = "_q_scaleFactor"; /* Sets a per-screen scale factor. */ -void QHighDpiScaling::setScreenFactor(QScreen *screen, qreal rawFactor) +void QHighDpiScaling::setScreenFactor(QScreen *screen, qreal factor) { - qreal factor = roundScaleFactor(rawFactor); - if (!qFuzzyCompare(factor, qreal(1))) { m_screenFactorSet = true; m_active = true; diff --git a/tests/auto/gui/kernel/qhighdpi/tst_qhighdpi.cpp b/tests/auto/gui/kernel/qhighdpi/tst_qhighdpi.cpp index 62f61e43fa7..f221c9db909 100644 --- a/tests/auto/gui/kernel/qhighdpi/tst_qhighdpi.cpp +++ b/tests/auto/gui/kernel/qhighdpi/tst_qhighdpi.cpp @@ -313,10 +313,9 @@ void tst_QHighDpi::environment_QT_SCREEN_SCALE_FACTORS() QFETCH(QByteArray, environment); QFETCH(QList, expectedDprValues); - qputenv("QT_SCREEN_SCALE_FACTORS", environment); - // Verify that setting QT_SCREEN_SCALE_FACTORS overrides the from-platform-screen-DPI DPR. { + qputenv("QT_SCREEN_SCALE_FACTORS", environment); std::unique_ptr app(createStandardOffscreenApp(platformScreenDpi)); int i = 0; for (QScreen *screen : app->screens()) { @@ -328,18 +327,6 @@ void tst_QHighDpi::environment_QT_SCREEN_SCALE_FACTORS() QCOMPARE(window.devicePixelRatio(), expextedDpr); } } - - // Verify that setHighDpiScaleFactorRoundingPolicy applies to QT_SCREEN_SCALE_FACTORS as well - QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::Round); - { - std::unique_ptr app(createStandardOffscreenApp(platformScreenDpi)); - int i = 0; - for (QScreen *screen : app->screens()) { - qreal expectedRounderDpr = qRound(expectedDprValues[i++]); - qreal windowDpr = QWindow(screen).devicePixelRatio(); - QCOMPARE(windowDpr, expectedRounderDpr); - } - } } void tst_QHighDpi::environment_QT_USE_PHYSICAL_DPI()