summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/kernel
diff options
context:
space:
mode:
authorMorten Johan Sørvig <msorvig@gmail.com>2019-08-07 13:15:51 +0200
committerMorten Johan Sørvig <morten.sorvig@qt.io>2019-08-11 12:01:26 +0200
commit5d7f1133205d14002463456c26a97f8ba17d69b8 (patch)
tree7497200a5b145784799969855de7096b79d9f0d5 /tests/auto/gui/kernel
parenta08ac1986d39b4d4614f654b3408c7b846c835c9 (diff)
Add nullptr guard to QHighDScaling::scaleAndOrigin(QPlatformScreen *)
Commit b6ded193 added an unconditional dereference of the platformScreen pointer, for calls where nativePostion is non-nullptr. Change-Id: I4a6fbbd0337f91d4fcb76c17b4dc60e1b9ad10ed Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'tests/auto/gui/kernel')
-rw-r--r--tests/auto/gui/kernel/qhighdpiscaling/tst_qhighdpiscaling.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/auto/gui/kernel/qhighdpiscaling/tst_qhighdpiscaling.cpp b/tests/auto/gui/kernel/qhighdpiscaling/tst_qhighdpiscaling.cpp
index 969b2351ec..ec80c2d02c 100644
--- a/tests/auto/gui/kernel/qhighdpiscaling/tst_qhighdpiscaling.cpp
+++ b/tests/auto/gui/kernel/qhighdpiscaling/tst_qhighdpiscaling.cpp
@@ -36,6 +36,7 @@ class tst_QHighDpiScaling: public QObject
Q_OBJECT
private slots:
+ void factor();
void scale();
};
@@ -50,6 +51,23 @@ public:
QImage::Format format() const override { return QImage::Format_ARGB32_Premultiplied; }
};
+void tst_QHighDpiScaling::factor()
+{
+ QHighDpiScaling::setGlobalFactor(2);
+
+ // Verfy that QHighDpiScaling::factor() does not crash on nullptr contexts.
+ QPoint fakeNativePosition = QPoint(5, 5);
+ QPlatformScreen *screenContext = nullptr;
+ QVERIFY(QHighDpiScaling::factor(screenContext) >= 0);
+ QVERIFY(QHighDpiScaling::factor(screenContext, &fakeNativePosition) >= 0);
+ QPlatformScreen *platformScreenContext = nullptr;
+ QVERIFY(QHighDpiScaling::factor(platformScreenContext) >= 0);
+ QVERIFY(QHighDpiScaling::factor(platformScreenContext, &fakeNativePosition) >= 0);
+ QWindow *windowContext = nullptr;
+ QVERIFY(QHighDpiScaling::factor(windowContext) >= 0);
+ QVERIFY(QHighDpiScaling::factor(windowContext, &fakeNativePosition) >= 0);
+}
+
// QTBUG-77255: Test some scaling overloads
void tst_QHighDpiScaling::scale()
{