From: Jinoh Kang Subject: [PATCH v2 1/1] windowscodecs: Fix non-zero alpha detection in ImagingFactory_CreateBitmapFromHICON. Message-Id: Date: Tue, 28 Jun 2022 15:13:27 +0000 In-Reply-To: References: From: Jinoh Kang Increment pixel pointer for every *pixel*, not every *stride*. Signed-off-by: Jinoh Kang --- dlls/windowscodecs/imgfactory.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/dlls/windowscodecs/imgfactory.c b/dlls/windowscodecs/imgfactory.c index c7e101e3d62..07f5b53fefd 100644 --- a/dlls/windowscodecs/imgfactory.c +++ b/dlls/windowscodecs/imgfactory.c @@ -901,16 +901,14 @@ 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 (*ptr++ & 0xff000000) { - if (*bits & 0xff000000) - { - has_alpha = TRUE; - break; - } + has_alpha = TRUE; + break; } } } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/315