From 967e55a628fcddde38c67791665969e9a530d4d8 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 12 Dec 2019 11:33:58 +0100 Subject: Allow creating a valid QColorSpace one value at a time The change to using setters left a quirk from the previous un-mutable design where you couldn't set values on an invalid color space and create a valid one. This changes that so it works as expected for an imperative API, but is also needed for the declarative QML bindings. Change-Id: I246cfc38b364b156238151c42c1df82a3f1cc9d3 Reviewed-by: Eirik Aavitsland --- tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'tests/auto/gui/painting') diff --git a/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp b/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp index 945a4772f3..99fb3d3e72 100644 --- a/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp +++ b/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp @@ -413,6 +413,7 @@ void tst_QColorSpace::primaries2() void tst_QColorSpace::invalidPrimaries() { + QTest::ignoreMessage(QtWarningMsg, QRegularExpression("QColorSpace attempted constructed from invalid primaries")); QColorSpace custom(QPointF(), QPointF(), QPointF(), QPointF(), QColorSpace::TransferFunction::Linear); QVERIFY(!custom.isValid()); } @@ -444,8 +445,15 @@ void tst_QColorSpace::changeTransferFunction() QColorSpace undefined; QCOMPARE(undefined.withTransferFunction(QColorSpace::TransferFunction::Linear), undefined); - undefined.setTransferFunction(QColorSpace::TransferFunction::SRgb); - QCOMPARE(undefined, QColorSpace()); + + QColorSpace partial; + partial.setTransferFunction(QColorSpace::TransferFunction::SRgb); + QCOMPARE(partial.transferFunction(), QColorSpace::TransferFunction::SRgb); + QVERIFY(!partial.isValid()); + + partial.setPrimaries(QColorSpace::Primaries::SRgb); + QVERIFY(partial.isValid()); + QCOMPARE(partial, QColorSpace(QColorSpace::SRgb)); } void tst_QColorSpace::changePrimaries() -- cgit v1.2.3