https://bugs.winehq.org/show_bug.cgi?id=54462
--- Comment #1 from Daniel daniel.john.magnus@gmail.com --- I found the line of code, that makes the cursor invisible in Wine, that didn't make it invisible on Windows.
window_class.hCursor = LoadCursor(hInstance, IDC_ARROW);
The cursor gets visible in Wine if changed to... window_class.hCursor = LoadCursor(NULL, IDC_ARROW);
Even if the row is changed to... window_class.hCursor = LoadCursor(GetModuleHandle(NULL), IDC_ARROW); ...then it's still invisible.
So, It's some edge cases that makes Wine to not behave exactly the same as Windows with badly written code that was based on code examples in tutorials found on Windows programming on the internet, that people think is "ok".
But if I remember correct, it may be that in those examples this row was left out entirely. And that i tried to make is visible in Wine by adding that row according to different examples i found in forums and such.
And then you leave out the row, the cursor also become invisible in Wine. So the row should be... window_class.hCursor = LoadCursor(NULL, IDC_ARROW); ...to make it visible in wine. But... window_class.hCursor = LoadCursor(hInstance, IDC_ARROW); ...or... window_class.hCursor = LoadCursor(GetModuleHandle(NULL), IDC_ARROW); ...or leaving it out completely makes in invisible in Wine but not on Windows.