mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 23:44:07 +00:00
windowscodecs: Fix non-zero alpha detection in ImagingFactory_CreateBitmapFromHICON.
Increment pixel pointer for every *pixel*, not every *stride*. Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
This commit is contained in:
parent
29dd844439
commit
e6155827e8
|
@ -901,12 +901,11 @@ static HRESULT WINAPI ImagingFactory_CreateBitmapFromHICON(IWICImagingFactory2 *
|
|||
if (bm.bmBitsPixel == 32)
|
||||
{
|
||||
/* If any pixel has a non-zero alpha, ignore hbmMask */
|
||||
bits = (DWORD *)buffer;
|
||||
for (x = 0; x < width && !has_alpha; x++, bits++)
|
||||
DWORD *ptr = (DWORD *)buffer;
|
||||
DWORD *end = ptr + width * height;
|
||||
while (ptr != end)
|
||||
{
|
||||
for (y = 0; y < height; y++)
|
||||
{
|
||||
if (*bits & 0xff000000)
|
||||
if (*ptr++ & 0xff000000)
|
||||
{
|
||||
has_alpha = TRUE;
|
||||
break;
|
||||
|
@ -914,7 +913,6 @@ static HRESULT WINAPI ImagingFactory_CreateBitmapFromHICON(IWICImagingFactory2 *
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
GetDIBits(hdc, info.hbmMask, 0, height, buffer, &bi, DIB_RGB_COLORS);
|
||||
|
||||
|
|
Loading…
Reference in a new issue