Module: wine Branch: master Commit: 001abc3c62c125d93ebbd558ecd7e750ccc9fe28 URL: http://source.winehq.org/git/wine.git/?a=commit;h=001abc3c62c125d93ebbd558ec... Author: Alexandre Julliard <julliard(a)winehq.org> Date: Mon Dec 21 14:10:06 2009 +0100 user32: Use CreateIconIndirect to implement CreateCursor. --- dlls/user32/cursoricon.c | 21 +++++++++++---------- 1 files changed, 11 insertions(+), 10 deletions(-) diff --git a/dlls/user32/cursoricon.c b/dlls/user32/cursoricon.c index 631c469..37bbcda 100644 --- a/dlls/user32/cursoricon.c +++ b/dlls/user32/cursoricon.c @@ -1431,20 +1431,21 @@ HCURSOR WINAPI CreateCursor( HINSTANCE hInstance, INT nWidth, INT nHeight, LPCVOID lpANDbits, LPCVOID lpXORbits ) { - CURSORICONINFO info; + ICONINFO info; + HCURSOR hCursor; TRACE_(cursor)("%dx%d spot=%d,%d xor=%p and=%p\n", nWidth, nHeight, xHotSpot, yHotSpot, lpXORbits, lpANDbits); - info.ptHotSpot.x = xHotSpot; - info.ptHotSpot.y = yHotSpot; - info.nWidth = nWidth; - info.nHeight = nHeight; - info.nWidthBytes = 0; - info.bPlanes = 1; - info.bBitsPerPixel = 1; - - return HICON_32(CreateCursorIconIndirect16(0, &info, lpANDbits, lpXORbits)); + info.fIcon = FALSE; + info.xHotspot = xHotSpot; + info.yHotspot = yHotSpot; + info.hbmMask = CreateBitmap( nWidth, nHeight, 1, 1, lpANDbits ); + info.hbmColor = CreateBitmap( nWidth, nHeight, 1, 1, lpXORbits ); + hCursor = CreateIconIndirect( &info ); + DeleteObject( info.hbmMask ); + DeleteObject( info.hbmColor ); + return hCursor; }