https://bugs.winehq.org/show_bug.cgi?id=47392
--- Comment #2 from Henri Verbeet hverbeet@gmail.com --- (In reply to Józef Kucia from comment #1)
Other way to fix the problem is to send wined3d_device_set_cursor_properties() through the command stream.
Perhaps it's easier than that though. Texture destruction goes through the CS, so even though device->cursor_texture may be NULL, the actual texture hasn't been destroyed at that point. It may be worth a try to just store swapchain->device->cursor_texture in a local variable, which is perhaps not a bad idea regardless. (The issue of "bCursorVisible" and "hardwareCursor" needing to be consistent with "cursor_texture" would remain of course, but that's easy enough to fix.)