Icons as cursors patch

Krzysztof Drewniak krzysdrewniak at gmail.com
Sun Nov 23 15:30:54 CST 2008


This is my first patch. It allows icons to be loaded as cursors because
it defaults hotspots to x = 0 and y = 0 if the hotspot isn't found.
Pasting patch into body of message. This is against the latest git .

--------------------------------------------------------------------------------------------------------------------------

--- cursoricon.c.orig    2008-11-23 15:07:32.000000000 -0600
+++ cursoricon.c    2008-11-23 15:13:22.000000000 -0600
@@ -932,7 +932,10 @@ static HICON CURSORICON_LoadFromFile( LP
         entry = CURSORICON_FindBestIconFile( dir, width, height, colors );
 
     if ( !entry )
-        goto end;
+        /* this is my change. If there is no hotspot, default to 0, 0. */
+        hotspot.x = 0;
+        hotspot.y = 0;
+        goto iconskip;
 
     /* check that we don't run off the end of the file */
     if ( entry->dwDIBOffset > filesize )
@@ -942,6 +945,7 @@ static HICON CURSORICON_LoadFromFile( LP
 
     hotspot.x = entry->xHotspot;
     hotspot.y = entry->yHotspot;
+iconskip:
     hIcon = CURSORICON_CreateIconFromBMI( (BITMAPINFO
*)&bits[entry->dwDIBOffset],
                       hotspot, !fCursor, 0x00030000,
                       width, height, loadflags );

--------------------------------------------------------------------------------------------------------------------------

Please look over the code.
Krzys D.



More information about the wine-devel mailing list