Ove Kaaven ovehk@ping.uio.no writes:
In Alexandre's new windowing architecture, we have in dlls/x11drv/window.c, line 119, this:
attr->cursor = X11DRV_GetCursor( display, GlobalLock16(GetCursor()) );
Problem: what if ShowCursor(FALSE) is called to hide the cursor *before* the window was created? Yup, GetCursor still returns the current (arrow) cursor, so the new window gets associated with a visible cursor, though the app would expect the cursor to remain hidden.
Yes, cursor handling has some problems right now. It also needs to be a lot more clever about setting the cursor on child windows, and not walk the full list of top-level windows on every SetCursor. It will be fixed eventually, but it's not my top priority right now.