http://bugs.winehq.org/show_bug.cgi?id=58331
Bug ID: 58331 Summary: Wait cursor does not display Product: Wine Version: 9.0 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: win32u Assignee: wine-bugs@winehq.org Reporter: rikul@inbox.ru Distribution: ---
Created attachment 78705 --> http://bugs.winehq.org/attachment.cgi?id=78705 Example
Starting from Wine version 9.0, the waiting cursor no longer appears when attempting to set it to indicate a long-running operation in MFC applications or other programs. The issue appears to have started after the commit on June 13, 2023.
Steps to Reproduce: 1. Run the attached simple MFC application. 2. Click the button "Start Long Operation"
Expected Result: The waiting cursor should appear for the duration of the 3-second sleep.
Actual Result: The waiting cursor does not appear during the Sleep call. The cursor remains the default arrow.
Example Application: The example application has been attached. It uses the most basic implementation of the CWaitCursor class, as described in the official Microsoft documentation:
https://learn.microsoft.com/en-us/cpp/mfc/reference/cwaitcursor-class?view=m...
Regression Commit: The issue seems to have started with the commits made on June 13, 2023:
https://github.com/wine-mirror/wine/commits/master/dlls?author=rbernon&s...
Notes: This issue does not occur in Windows, where the waiting cursor appears as expected.
Environment: Wine version: 9.0+ (possibly Wine 8.x, but not 8.0) Operating System: RHEL 7.9, RHEL 8.10
http://bugs.winehq.org/show_bug.cgi?id=58331
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://bugs.winehq.org/att | |achment.cgi?id=78705 Keywords| |download, integration, | |regression, source, | |testcase CC| |rbernon@codeweavers.com
--- Comment #1 from Ken Sharp imwellcushtymelike@gmail.com --- Have you tested Wine 10.9?
http://bugs.winehq.org/show_bug.cgi?id=58331
--- Comment #2 from BugSeeker rikul@inbox.ru --- The bug still exists in version Wine 10.9. Fixing this issue is important because users cannot tell whether the app is still loading or has frozen.
http://bugs.winehq.org/show_bug.cgi?id=58331
Bernhard Übelacker bernhardu@mailbox.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |10f5ff7f06595bf9d1f487f91db | |bd869e5105d26 CC| |bernhardu@mailbox.org
--- Comment #3 from Bernhard Übelacker bernhardu@mailbox.org --- Starting with 10f5ff7f06 the wait cursor is shown when the button is pressed, but stays after the finish dialog is shown, until mouse is moved.
Starting with 4b968267c1 the cursor stays regular during the wait period, and changes to wait cursor when the finish dialog is shown, until mouse is moved.
http://bugs.winehq.org/show_bug.cgi?id=58331
--- Comment #4 from BugSeeker rikul@inbox.ru --- The functionality is broken, as mentioned in the description. Tested with Wine version 10.9.
To put it simply: before the commit that broke the functionality, set_cursor would set the cursor directly in X11. After the changes, set_cursor sets it on the server, which is then supposed to forward it to X11. In the reported case, the server does not forward it to X11.
You can run the example on Windows and with Wine to observe the bug.