qt5base-lts/tests/auto/gui/image
John Chadwick 1079b53739 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 1d128ed1df.

Fixes: QTBUG-113319
Change-Id: I89ac86ff16054c8925fff6afc8c530fa737f8385
Pick-to: 6.6 6.5 6.2 5.15
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2023-07-11 18:35:41 +00:00
..
qicoimageformat Fix transparency in 16 bit and 24 bit ico files 2023-07-11 18:35:41 +00:00
qicon CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qiconhighdpi CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qimage CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qimageiohandler CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qimagereader CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qimagewriter CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qmovie CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qpicture CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qpixmap CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qpixmapcache CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
CMakeLists.txt tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00