On Tue, Nov 25, 2008 at 4:04 AM, Stefan Dösinger stefan@codeweavers.com wrote:
Isn't this already covered in the cursoricon tests?
I don't think so. That test would be marked TODO_WINE in that case, so your patch would cause a test failure(unexpected success). If that test wasn't marked todo the behavior your patch adds would be implemented already.
A patch I sent in recently (attached for convenience) should let Wine know that it is dealing with a cursor loaded from an .ico. After this gets commited, then we can see where the hotspot should be for such a cursor (after Wine knows about it internally.) If I recall correctly, GetIconInfo() returns (width/2, height/2) for the hotspot of all .ico's. I will write a test for this.
Even so, the cursor hotspot returned by GetIconInfo() might very will be different from what Win32 actually uses when drawing the cursor, so I will have to write another interactive test for this so I can see what Win32 actually does. The interactive test, unless specifically asked for, I probably won't send in because it is impossible to automate. (Just check manually by clicking on stuff where the hotspot of a cursor loaded from a .ico is. - Hopefully this will match GetIconInfo() behavior, or at least use (0,0).)
Krzysztof: Please test the attached patch against your program/game to see what, if anything, it does to fix this issue.