summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEirik Aavitsland <eirik.aavitsland@qt.io>2019-07-29 10:04:23 +0200
committerLiang Qi <liang.qi@qt.io>2019-07-29 12:45:16 +0000
commitac885a34ecd56b32788c6ca67ef657852bfa2308 (patch)
tree96954ae26f3459590fa92ab0315687a18fd85330
parentce99361cc0260f9672ebfe92918f2a9727a6db3d (diff)
Revert "Fix comparisons of image with different color spaces"
QImage comparison has always ignored differences in metadata. Introducing colorspace comparison can break backwards compatibility, as not all image formats or handlers have colorspace capability. This partially reverts commit 733ca2230c283cdfaae424eac481ddc33593f44f. Fixes: QTBUG-77205 Change-Id: I1d525a9727e84502624cd118f503eec7be306c99 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r--src/gui/image/qimage.cpp4
-rw-r--r--tests/auto/gui/image/qimage/tst_qimage.cpp18
2 files changed, 1 insertions, 21 deletions
diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp
index 7ac4b3546e..cd2fe5bc10 100644
--- a/src/gui/image/qimage.cpp
+++ b/src/gui/image/qimage.cpp
@@ -3834,9 +3834,7 @@ bool QImage::operator==(const QImage & i) const
return false;
// obviously different stuff?
- if (i.d->height != d->height || i.d->width != d->width)
- return false;
- if (i.d->format != d->format || i.d->colorSpace != d->colorSpace)
+ if (i.d->height != d->height || i.d->width != d->width || i.d->format != d->format)
return false;
if (d->format != Format_RGB32) {
diff --git a/tests/auto/gui/image/qimage/tst_qimage.cpp b/tests/auto/gui/image/qimage/tst_qimage.cpp
index e007a15419..441ec17412 100644
--- a/tests/auto/gui/image/qimage/tst_qimage.cpp
+++ b/tests/auto/gui/image/qimage/tst_qimage.cpp
@@ -232,8 +232,6 @@ private slots:
void wideImage();
- void colorspaceEquality();
-
#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
void toWinHBITMAP_data();
void toWinHBITMAP();
@@ -3620,22 +3618,6 @@ void tst_QImage::wideImage()
// Qt6: Test that it actually works on 64bit architectures.
}
-void tst_QImage::colorspaceEquality()
-{
- QImage image1(10, 10, QImage::Format_RGB32);
- image1.fill(Qt::red);
- QImage image2(image1);
- QCOMPARE(image1, image2);
- image1.setColorSpace(QColorSpace::SRgbLinear);
- QVERIFY(image1 != image2);
- image2.setColorSpace(QColorSpace::SRgbLinear);
- QVERIFY(image1 == image2);
- image1.setColorSpace(QColorSpace(QColorSpace::Gamut::DciP3D65, QColorSpace::TransferFunction::Gamma, 2.2f));
- QVERIFY(image1 != image2);
- image2.setColorSpace(QColorSpace(QColorSpace::Gamut::DciP3D65, QColorSpace::TransferFunction::Gamma, 2.2001f));
- QVERIFY(image1 == image2);
-}
-
#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
QT_BEGIN_NAMESPACE
Q_GUI_EXPORT HBITMAP qt_imageToWinHBITMAP(const QImage &p, int hbitmapFormat = 0);