https://git.reactos.org/?p=reactos.git;a=commitdiff;h=887764e6075fdde7fb81d2...
commit 887764e6075fdde7fb81d2a54d5255164c046511 Author: Jose Carlos Jesus zecarlos1957@hotmail.com AuthorDate: Thu May 21 20:52:13 2020 +0100 Commit: Stanislav Motylkov x86corez@gmail.com CommitDate: Sun Aug 16 18:42:12 2020 +0300
[COMCTL32] Fix issue on showing current mouse pointer (#2829)
GetIconInfo() fill info.hbmColor with NULL HBITMAP handle on black/white bitmaps.
CORE-17062 --- dll/win32/comctl32/static.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/dll/win32/comctl32/static.c b/dll/win32/comctl32/static.c index f136f2cc79c..b30f0532f3a 100644 --- a/dll/win32/comctl32/static.c +++ b/dll/win32/comctl32/static.c @@ -94,11 +94,24 @@ static BOOL get_icon_size( HICON handle, SIZE *size ) if (!GetIconInfo(handle, &info)) return FALSE;
+#ifdef __REACTOS__ + ret = GetObjectW(info.hbmMask, sizeof(bmp), &bmp); +#else ret = GetObjectW(info.hbmColor, sizeof(bmp), &bmp); +#endif if (ret) { size->cx = bmp.bmWidth; size->cy = bmp.bmHeight; +#ifdef __REACTOS__ + /* + If this structure defines a black and white icon, this bitmask is formatted + so that the upper half is the icon AND bitmask and the lower half is + the icon XOR bitmask. + */ + if (!info.hbmColor) + size->cy /= 2; +#endif }
DeleteObject(info.hbmMask);