wine-ShowCursor-D3D-over-GDI.patch

H. Verbeet hverbeet at gmail.com
Sat Jul 29 04:53:46 CDT 2006


On 29/07/06, Andrew Riedi <andrewriedi at gmail.com> wrote:
> Well, here is my first patch, feel free to tell me what all is wrong with
> it.  I noticed a problem in WoW d3d, so I tracked it down and checked out
> msdn.  It seems that implementing ShowCursor() over GDI is acceptable, at
> least according to msdn, and it seems to work great.  Anyhow, this patch
> fixes the two mouse cursor problem in WoW, and makes wined3d more compatible
> with windows, at least msdn.  Here goes nothing.
>
> --
> Andrew Riedi
That's not quite what MSDN says. It says that the Direct3D cursor can
be implemented either by using user32 cursors to draw the cursor, or
by doing the drawing itself. We currently do the latter, so I don't
think we should touch the user32 cursor in
IWineD3DDeviceImpl_ShowCursor(). Also see MSDN on
IDirect3DDevice9::SetCursorProperties().

You'll probably want to check if the application calls SetCursor(NULL)
anywhere, I don't think that works properly at the moment in wine, if
no cursor has been explicitly set before. (It checks if the cursor has
changed in SetCursor(), but initially thread_info->cursor seems to be
NULL, rather than the default cursor.) Note that you'll have to add
your own TRACEs to do that though, as the TRACE in SetCursor() won't
catch it.

Also, please try to use the same style for patches as the rest of the
file. ie, spaces rather than tabs, braces, etc.



More information about the wine-devel mailing list