https://bugs.winehq.org/show_bug.cgi?id=54462
Bug ID: 54462 Summary: Mouse cursor invisible Product: Wine Version: 8.1 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: daniel.john.magnus@gmail.com Distribution: ---
Created attachment 74018 --> https://bugs.winehq.org/attachment.cgi?id=74018 c source code for the tiny program
Mouse cursor invisible while hoovering over window. And it's visible in when tested on a real windows 8 machine.
I include the code for this simple program.
It's compiled on Linux with the following command... i686-w64-mingw32-gcc event.c -o event.exe -lgdi32 -mwindows
https://bugs.winehq.org/show_bug.cgi?id=54462
Daniel daniel.john.magnus@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Ubuntu
https://bugs.winehq.org/show_bug.cgi?id=54462
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, source, testcase
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.