From 31a3e82b709708331a944b05f7d5a241e22466d7 Mon Sep 17 00:00:00 2001 From: John Chadwick Date: Sat, 8 Jul 2023 02:52:03 -0400 Subject: [PATCH] Fix transparency in 16 bit and 24 bit ico files As a result of the fix for QTBUG-75214, Qt inadvertently no longer reads the AND mask that specifies transparency for 16-bit and 24-bit ico files. This is because it tries to detect 32-bit icons by checking icoAttrib.depth == 32, but icoAttrib.depth is set to the depth of the QImage, not the depth of the icon, and 32-bit QImage is used for all of the non-indexed cases (16-bit, 24-bit and 32-bit.) This commit instead uses icoAttrib.nbits, which should reliably determine whether or not the icon is 32-bit. This makes the behavior consistent with other ico reading software, including Windows. Also, adds a unit test that verifies correct behavior of icon masks, checking for both QTBUG-75214 and QTBUG-113319. Amends 1d128ed1dfbcf49453ada922e54381c37264fde5. Fixes: QTBUG-113319 Change-Id: I89ac86ff16054c8925fff6afc8c530fa737f8385 Reviewed-by: Eirik Aavitsland (cherry picked from commit 1079b537396fcf5cd6c50cc8af19b078a50cf547) Reviewed-by: Qt Cherry-pick Bot --- src/plugins/imageformats/ico/qicohandler.cpp | 2 +- .../qicoimageformat/icons/masked/24bpp.ico | Bin 0 -> 12862 bytes .../qicoimageformat/icons/masked/24bpp.png | Bin 0 -> 3911 bytes .../qicoimageformat/icons/masked/32bpp.ico | Bin 0 -> 16958 bytes .../qicoimageformat/icons/masked/32bpp.png | Bin 0 -> 5536 bytes .../qicoimageformat/tst_qicoimageformat.cpp | 29 ++++++++++++++++++ 6 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 tests/auto/gui/image/qicoimageformat/icons/masked/24bpp.ico create mode 100644 tests/auto/gui/image/qicoimageformat/icons/masked/24bpp.png create mode 100644 tests/auto/gui/image/qicoimageformat/icons/masked/32bpp.ico create mode 100644 tests/auto/gui/image/qicoimageformat/icons/masked/32bpp.png diff --git a/src/plugins/imageformats/ico/qicohandler.cpp b/src/plugins/imageformats/ico/qicohandler.cpp index 3bcf30bfc6b..e58dde4e974 100644 --- a/src/plugins/imageformats/ico/qicohandler.cpp +++ b/src/plugins/imageformats/ico/qicohandler.cpp @@ -499,7 +499,7 @@ QImage ICOReader::iconAt(int index) if (!image.isNull()) { readBMP(image); if (!image.isNull()) { - if (icoAttrib.depth == 32) { + if (icoAttrib.nbits == 32) { img = std::move(image).convertToFormat(QImage::Format_ARGB32_Premultiplied); } else { QImage mask(image.width(), image.height(), QImage::Format_Mono); diff --git a/tests/auto/gui/image/qicoimageformat/icons/masked/24bpp.ico b/tests/auto/gui/image/qicoimageformat/icons/masked/24bpp.ico new file mode 100644 index 0000000000000000000000000000000000000000..7e9cfa24149e9c2392bc96bc2275b652f198b78a GIT binary patch literal 12862 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 QHn@}W_oVpyfBE!(0bSfMiU0rr literal 0 HcmV?d00001 diff --git a/tests/auto/gui/image/qicoimageformat/icons/masked/24bpp.png b/tests/auto/gui/image/qicoimageformat/icons/masked/24bpp.png new file mode 100644 index 0000000000000000000000000000000000000000..f0a19c05e3db7bf677810038b7bc659f797ef84a GIT binary patch literal 3911 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 TEqdS$@-s^^=}Gzg5C8jr4bdwH literal 0 HcmV?d00001 diff --git a/tests/auto/gui/image/qicoimageformat/icons/masked/32bpp.png b/tests/auto/gui/image/qicoimageformat/icons/masked/32bpp.png new file mode 100644 index 0000000000000000000000000000000000000000..a6ceac73fa2a8dab3c35a582807b96aa55ca9fe8 GIT binary patch literal 5536 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"inFile"); + QTest::addColumn("outFile"); + + QTest::newRow("24bpp") << "masked/24bpp.ico" << "masked/24bpp.png"; + QTest::newRow("32bpp") << "masked/32bpp.ico" << "masked/32bpp.png"; +} + +void tst_QIcoImageFormat::icoMask() +{ + QFETCH(QString, inFile); + QFETCH(QString, outFile); + + QImage inImage; + QImageReader inReader(m_IconPath + QLatin1Char('/') + inFile); + inReader.read(&inImage); + + QImage outImage; + QImageReader outReader(m_IconPath + QLatin1Char('/') + outFile); + outReader.read(&outImage); + outImage.setColorSpace(inImage.colorSpace()); + outImage = outImage.convertToFormat(inImage.format()); + + QCOMPARE(inImage, outImage); +} + QTEST_MAIN(tst_QIcoImageFormat) #include "tst_qicoimageformat.moc"