Index: dll/win32/user32/windows/bitmap.c =================================================================== --- dll/win32/user32/windows/bitmap.c (revision 31534) +++ dll/win32/user32/windows/bitmap.c (working copy) @@ -274,8 +274,9 @@ #else ICONINFO iconInfo; - if(NtUserGetIconInfo(ResIcon, &iconInfo, NULL, NULL, NULL, FALSE)) - NtUserSetCursorIconData((HICON)hIcon, hinst, NULL, &iconInfo); + //if(NtUserGetIconInfo(ResIcon, &iconInfo, NULL, NULL, NULL, FALSE)) + if(NtUserGetIconInfo(hIcon, &iconInfo, NULL, NULL, NULL, FALSE)) + NtUserSetCursorIconData((HICON)hIcon, hinst, hResInfo, NULL, &iconInfo); #endif } @@ -777,7 +778,7 @@ RtlInitUnicodeString(&Res, lpResName); - return NtUserSetCursorIconData(Handle, hMod, &Res, pIconInfo); + return NtUserSetCursorIconData(Handle, hMod, NULL, &Res, pIconInfo); } Index: include/reactos/win32k/ntuser.h =================================================================== --- include/reactos/win32k/ntuser.h (revision 31534) +++ include/reactos/win32k/ntuser.h (working copy) @@ -2067,6 +2067,7 @@ NtUserSetCursorIconData( HANDLE Handle, HMODULE hModule, + HRSRC hRsrc, PUNICODE_STRING pstrResName, PICONINFO pIconInfo); Index: subsystems/win32/win32k/ntuser/cursoricon.c =================================================================== --- subsystems/win32/win32k/ntuser/cursoricon.c (revision 31534) +++ subsystems/win32/win32k/ntuser/cursoricon.c (working copy) @@ -370,11 +370,11 @@ // { if((CurIcon->hModule == hModule) && (CurIcon->hRsrc == hRsrc)) { - if(cx && ((cx != CurIcon->Size.cx) || (cy != CurIcon->Size.cy))) +/* if(cx && ((cx != CurIcon->Size.cx) || (cy != CurIcon->Size.cy))) { // ObmDereferenceObject(CurIcon); continue; - } + }*/ if (! ReferenceCurIconByProcess(CurIcon)) { return NULL; @@ -1192,6 +1192,7 @@ NtUserSetCursorIconData( HANDLE Handle, HMODULE hModule, + HRSRC hRsrc, PUNICODE_STRING pstrResName, PICONINFO pIconInfo) { @@ -1218,7 +1219,7 @@ } CurIcon->hModule = hModule; - CurIcon->hRsrc = NULL; //hRsrc; + CurIcon->hRsrc = hRsrc; //hRsrc; CurIcon->hGroupRsrc = NULL; //hGroupRsrc; _SEH_TRY Index: subsystems/win32/win32k/w32ksvc.db =================================================================== --- subsystems/win32/win32k/w32ksvc.db (revision 31534) +++ subsystems/win32/win32k/w32ksvc.db (working copy) @@ -519,7 +519,7 @@ NtUserSetConsoleReserveKeys 2 NtUserSetCursor 1 NtUserSetCursorContents 2 -NtUserSetCursorIconData 4 +NtUserSetCursorIconData 5 NtUserSetCursorIconData 6 NtUserSetDbgTag 2 NtUserSetFocus 1