summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@qt.io>2021-02-24 00:06:26 +0100
committerMorten Johan Sørvig <morten.sorvig@qt.io>2021-03-02 13:36:38 +0000
commitee409e6f0cab4aa051f75f7c7116d4b607d137fc (patch)
treed819813aa70287a51d4a7e9695a034cdf1bd30c0 /tests/auto
parent9d80deb92f066dba6c2bfce98f5cc83304026c2b (diff)
High-DPI: Set the minimum scale factor to 1
Avoid painting errors with dpr < 1, also for the PassThrough mode. This limits the minimum high-dpi scale factor to 1, for the code path which determines the scale factor based on screen DPI. Pick-to: 6.1 Task-number: QTBUG-89948 Change-Id: I14b3f130f0ae141d5f05c87437f926a9f76d1dec Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/gui/kernel/qhighdpi/tst_qhighdpi.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/auto/gui/kernel/qhighdpi/tst_qhighdpi.cpp b/tests/auto/gui/kernel/qhighdpi/tst_qhighdpi.cpp
index 09bf8439c8..512209ab73 100644
--- a/tests/auto/gui/kernel/qhighdpi/tst_qhighdpi.cpp
+++ b/tests/auto/gui/kernel/qhighdpi/tst_qhighdpi.cpp
@@ -49,6 +49,7 @@ private slots:
void initTestCase();
void qhighdpiscaling_data();
void qhighdpiscaling();
+ void minimumDpr();
void noscreens();
void screenDpiAndDpr_data();
void screenDpiAndDpr();
@@ -223,6 +224,20 @@ void tst_QHighDpi::screenDpiAndDpr()
}
}
+void tst_QHighDpi::minimumDpr()
+{
+ QList<qreal> dpiValues { 40, 60, 95 };
+ std::unique_ptr<QGuiApplication> app(createStandardOffscreenApp(dpiValues));
+ for (QScreen *screen : app->screens()) {
+ // Qt does not currently support DPR values < 1. Make sure
+ // the minimum DPR value is 1, also when the screen reports
+ // a low DPI.
+ QCOMPARE(screen->devicePixelRatio(), 1);
+ QWindow window(screen);
+ QCOMPARE(window.devicePixelRatio(), 1);
+ }
+}
+
void tst_QHighDpi::noscreens()
{
// Create application object with a no-screens configuration (should not crash)