https://git.reactos.org/?p=reactos.git;a=commitdiff;h=2a16fc5e19b5356d98a3b…
commit 2a16fc5e19b5356d98a3bace9be3cf161304024a
Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com>
AuthorDate: Tue Sep 12 05:56:36 2023 +0900
Commit: GitHub <noreply(a)github.com>
CommitDate: Tue Sep 12 05:56:36 2023 +0900
[NTGDI] GetPixel's return top byte is zero if valid (#5677)
According to the results of CImage testcase,
the top byte of the GetPixel() return value is
zero if the return is a valid color.
Do bitwise-AND operation if the color value is valid.
CORE-19008
---
win32ss/gdi/ntgdi/bitblt.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/win32ss/gdi/ntgdi/bitblt.c b/win32ss/gdi/ntgdi/bitblt.c
index 2e3eaeef0b2..c86bbbc53ba 100644
--- a/win32ss/gdi/ntgdi/bitblt.c
+++ b/win32ss/gdi/ntgdi/bitblt.c
@@ -1598,6 +1598,9 @@ NtGdiGetPixel(
/* Delete the surface */
GDIOBJ_vDeleteObject(&psurfDest->BaseObject);
+
+ /* The top byte is zero */
+ ulRGBColor &= 0x00FFFFFF;
}
leave: