"H. Verbeet" hverbeet@gmail.com wrote:
Attached is a slightly updated version of the patchset. I got rid of the winmm import, and it should now destroy cursors / icons when the process is destroyed. The changes are in parts 1 & 9, the rest should be pretty much unchanged.
I've looked only at 09_user_ani_cursor.diff.txt:
1. CURSORICON_LoadFromFile returns 0 on failure, so load_ani should return 0 on failure as well not INVALID_HANDLE_VALUE (which usually is returned only for kernel objects).
2. the loop in riff_find_chunk uses memcmp to compare DWORDs, comparing DWORD values directly is more efficient, and alignment is not a problem since all the fields and chunks are DWORD aligned. Making ptr of a type DWORD should help with that, although that makes pointer arithmetic slightly more tricky, that's still will look more readable IMO.