1079b53739
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
|
||
---|---|---|
.. | ||
qicoimageformat | ||
qicon | ||
qiconhighdpi | ||
qimage | ||
qimageiohandler | ||
qimagereader | ||
qimagewriter | ||
qmovie | ||
qpicture | ||
qpixmap | ||
qpixmapcache | ||
CMakeLists.txt |