[Bug 42740] Icons with transparency no longer rendering correctly

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Apr 3 13:22:09 CDT 2017


https://bugs.winehq.org/show_bug.cgi?id=42740

--- Comment #3 from Alexandre Julliard <julliard at winehq.org> ---
(In reply to Johannes from comment #2)
> I am actually the OpenMPT developer who implemented this work-around.

Great!

> The work-around we utilize for Wine is also used on other systems which do
> not support 32-bit images with alpha channel, e.g. when using a 24-bit
> graphics mode.
> What Wine 2.4 does is neither consistent with Windows in 32-bit mode, nor
> with Windows in 16-bit or 24-bit mode. In the latter case (which is applied
> for Wine), the 8-bit alpha is pre-calculated and reduced to a 1-bit mask and
> the image is loaded with ILC_COLOR24 | ILC_MASK. However, Wine now ignores
> this 1-bit mask completely, which it previously did not.

It seems to me that the issue is that you pass a mask with an alpha channel, so
if we are in 32-bit mode, the alpha channel breaks the reduction to 1-bit
(previously it worked because alpha was ignored in 32->1 blits, but this was
incorrect). My suspicion is that you'd get the same behavior if you used the
24-bit code path on a modern 32-bit Windows, but I haven't verified it.

It's very possible that there are still other issues with the imagelist code,
but it hasn't changed lately so I'd expect the issues to be identical in 2.0.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list