http://bugs.winehq.org/show_bug.cgi?id=22463
Summary: mouse cursor display broken Product: Wine Version: 1.1.43 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winex11.drv AssignedTo: wine-bugs@winehq.org ReportedBy: jimportal@gmail.com CC: julliard@winehq.org
In current git (after wine-1.1.43) the mouse cursor is not shown correctly while playing Prey. Prior to the regression, while the game was loading the cursor was changed to an hour glass. When the menu screen came up, the cursor was changed to a game specific cursor. While playing the game the mouse cursor was hidden hidden altogether.
With the regression in place, the mouse cursor does not change to an hour glass while loading (it retains the one that matches my KDE theme). At the menu screen, two mouse cursors are shown. One is the game provided cursor which moves around the screen as you'd expect and the other is the one from KDE which moves slightly but snaps back to the center when you move the mouse. When playing the game, the same cursor remains on the screen and is not hidden.
A git bisect leaves us with:
776527f38f2ff89f354e49aa8df795440677376a is the first bad commit commit 776527f38f2ff89f354e49aa8df795440677376a Author: Alexandre Julliard julliard@winehq.org Date: Tue Apr 20 21:23:00 2010 +0200
winex11: Move creation of an empty cursor to a separate helper function.
:040000 040000 fdea68ef055bcd049a0865d0a3d77a177ad08162 3694c600bca7911d3713cfe9913c04cf421a279f M dlls
I note that some compiles near the above commit lead to the game crashing. I answered with 'git bisect bad' in those cases.
http://bugs.winehq.org/show_bug.cgi?id=22463
jim jimportal@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
http://bugs.winehq.org/show_bug.cgi?id=22463
Jeff Zaroyko jeffz@jeffz.name changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #1 from Jeff Zaroyko jeffz@jeffz.name 2010-04-23 03:24:05 --- Confirming. This also affects Battlefield 1942.
http://bugs.winehq.org/show_bug.cgi?id=22463
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wylda@volny.cz
--- Comment #2 from Wylda wylda@volny.cz 2010-04-23 03:28:51 --- (In reply to comment #0)
I note that some compiles near the above commit lead to the game crashing. I answered with 'git bisect bad' in those cases.
In this case, you should use:
git bisect skip
Anyway, you probably hit the right one, as the others have issues with cursor in current development release.
http://bugs.winehq.org/show_bug.cgi?id=22463
--- Comment #3 from jim jimportal@gmail.com 2010-04-23 11:59:00 --- Skipping eventually leads to
There are only 'skip'ped commits left to test. The first bad commit could be any of: 3044d734b1cd84746cc57ace8b79a156ea9391b1 cd28e2be7c79644e02babb509247a453e0153390 776527f38f2ff89f354e49aa8df795440677376a eed9c63ac7650293523da5c8d067c74258568ba8 8ec6359bbbd969960cae828d665459aa3a8add39 We cannot bisect more!
All of the above are close together and related. Definitely close to the problem.
http://bugs.winehq.org/show_bug.cgi?id=22463
--- Comment #4 from Austin English austinenglish@gmail.com 2010-04-29 21:33:56 --- Bug 22512 was very similar, and fixed by http://source.winehq.org/git/wine.git/?a=commitdiff;h=6551553fe6393f02787c73.... Please retest.
http://bugs.winehq.org/show_bug.cgi?id=22463
--- Comment #5 from jim jimportal@gmail.com 2010-04-30 02:39:23 --- (In reply to comment #4)
Bug 22512 was very similar, and fixed by http://source.winehq.org/git/wine.git/?a=commitdiff;h=6551553fe6393f02787c73.... Please retest.
Symptoms persist.
http://bugs.winehq.org/show_bug.cgi?id=22463
--- Comment #6 from Jeff Zaroyko jeffz@jeffz.name 2010-04-30 04:18:26 --- Same for Battlefield 1942 with wine-1.1.43-408-g3317fc3.
http://bugs.winehq.org/show_bug.cgi?id=22463
--- Comment #7 from Erich Hoover ehoover@mines.edu 2010-05-01 10:16:55 --- Created an attachment (id=27649) --> (http://bugs.winehq.org/attachment.cgi?id=27649) Fix for the empty cursor regression
The regression appears to be the very last trivial-looking change in commit 8ec6359bbbd969960cae828d665459aa3a8add39. Please try the attached patch.
http://bugs.winehq.org/show_bug.cgi?id=22463
Erich Hoover ehoover@mines.edu changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ehoover@mines.edu
http://bugs.winehq.org/show_bug.cgi?id=22463
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #8 from Dan Kegel dank@kegel.com 2010-05-01 22:31:08 --- Also affects 3dmark2001, 3dmark06, and probably lots of others.
http://bugs.winehq.org/show_bug.cgi?id=22463
--- Comment #9 from jim jimportal@gmail.com 2010-05-04 01:35:35 --- (In reply to comment #7)
Created an attachment (id=27649)
--> (http://bugs.winehq.org/attachment.cgi?id=27649) [details]
Fix for the empty cursor regression
The regression appears to be the very last trivial-looking change in commit 8ec6359bbbd969960cae828d665459aa3a8add39. Please try the attached patch.
The patch fixes the double cursor behavior and is an improvement in that respect. However I suspect there is more to fix.
Prior to the regression, while the game was loading an hour glass cursor was displayed. That behavior is probably correct, but I do not have a Windows install to verify. I could probably try it out on my brother's Windows box later this week sometime if that would help.
http://bugs.winehq.org/show_bug.cgi?id=22463
--- Comment #10 from Erich Hoover ehoover@mines.edu 2010-05-08 18:18:53 --- (In reply to comment #9)
(In reply to comment #7)
Created an attachment (id=27649)
--> (http://bugs.winehq.org/attachment.cgi?id=27649) [details] [details]
Fix for the empty cursor regression
The regression appears to be the very last trivial-looking change in commit 8ec6359bbbd969960cae828d665459aa3a8add39. Please try the attached patch.
The patch fixes the double cursor behavior and is an improvement in that respect. However I suspect there is more to fix.
Prior to the regression, while the game was loading an hour glass cursor was displayed. That behavior is probably correct, but I do not have a Windows install to verify. I could probably try it out on my brother's Windows box later this week sometime if that would help.
Hmm, as I don't have that game I can't say what the issue might be. Can you find someone to confirm that the hour glass shows up in Windows? (I assume this is your desktop's hourglass or the default Wine one and not an obvious in-game hourglass)
http://bugs.winehq.org/show_bug.cgi?id=22463
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |adys.wh@gmail.com
--- Comment #11 from Jerome Leclanche adys.wh@gmail.com 2010-05-09 14:18:06 --- (In reply to comment #8)
Also affects 3dmark2001, 3dmark06, and probably lots of others.
This affects Edge of Chaos as well (DX7 game).
http://bugs.winehq.org/show_bug.cgi?id=22463
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
--- Comment #12 from Austin English austinenglish@gmail.com 2010-05-09 22:17:34 --- *** Bug 22512 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=22463
--- Comment #13 from jim jimportal@gmail.com 2010-05-10 15:01:42 --- (In reply to comment #10)
Hmm, as I don't have that game I can't say what the issue might be. Can you find someone to confirm that the hour glass shows up in Windows? (I assume this is your desktop's hourglass or the default Wine one and not an obvious in-game hourglass)
I fired up my old HP laptop with Windows and installed prey. The standard Windows hour glass is definitely there for at least the first part of the loading screen and is hidden about half way through loading.
With current git (there were some related patches again today) the hour glass is shown throughout the loading screen and remains during the menu and game play. The cursor does not get hidden.
With current git and the above patch the cursor is hidden when the game reaches the menu screen. I suspect that the cursor should be hidden sooner, but on my Linux box the loading screen is much faster (on much newer hardware). It's hard to say if the cursor is being hidden at the appropriate time. (I would test on my slower laptop under Linux but I cannot get the proprietary ATI Linux drivers to work on it.)
So, while current git + patch seems to be more correct, it's hard to say if things are actually where they need to be.
We probably need some more testing. I'll try to find/make some as time permits.
http://bugs.winehq.org/show_bug.cgi?id=22463
--- Comment #14 from Erich Hoover ehoover@mines.edu 2010-05-10 16:01:54 --- (In reply to comment #13)
...
So, while current git + patch seems to be more correct, it's hard to say if things are actually where they need to be.
We probably need some more testing. I'll try to find/make some as time permits.
Is the current git + patch back to where it was before? My main concern would be to get us back to where we were before 1.2 comes out, anything more than that is just icing on the cake.
Please be mindful that the patch I posted is just an undo on the tiny piece that I believe caused the problem. With the information that that code is the responsible party we can narrow down where to look to fix the regression. Since everything has moved with the recent patches the "appropriate" place to set the cursor is not precisely where the patch does it (I need to track down the appropriate caller of x11drv_init_thread_data and make the fix there).
http://bugs.winehq.org/show_bug.cgi?id=22463
--- Comment #15 from Erich Hoover ehoover@mines.edu 2010-05-10 19:00:29 --- (In reply to comment #13)
... With current git (there were some related patches again today) the hour glass is shown throughout the loading screen and remains during the menu and game play. The cursor does not get hidden. ...
Hmm, apparently with today's patches Borderlands' cursor problems are fixed...
http://bugs.winehq.org/show_bug.cgi?id=22463
--- Comment #16 from jim jimportal@gmail.com 2010-05-10 22:02:11 --- (In reply to comment #14)
Is the current git + patch back to where it was before?
It seems to be about the same as before the regression, yes. I don't think its necessarily the way it works in Windows, but its close enough for my application's purposes at least.
Since everything has moved with the recent patches the "appropriate" place to set the cursor is not precisely where the patch does it (I need to track down the appropriate caller of x11drv_init_thread_data and make the fix there).
Which maybe will be closer to way Windows behaves and an overall improvement.
http://bugs.winehq.org/show_bug.cgi?id=22463
--- Comment #17 from Austin English austinenglish@gmail.com 2010-05-11 03:45:07 --- For Bioshock, the display of the mouse is correct (only the animated shows, not the windows cursor, but behavior in a virtual desktop isn't quite right. It seems to 'escape' much easier than before. Perhaps I need to play with MouseWarpOverride...
http://bugs.winehq.org/show_bug.cgi?id=22463
--- Comment #18 from Austin English austinenglish@gmail.com 2010-05-11 04:36:19 --- (In reply to comment #17)
For Bioshock, the display of the mouse is correct (only the animated shows, not the windows cursor, but behavior in a virtual desktop isn't quite right. It seems to 'escape' much easier than before. Perhaps I need to play with MouseWarpOverride...
Seems the prefix didn't have MouseWarpOverride set to force.
This bug is fixed for Bioshock 1 in git.
http://bugs.winehq.org/show_bug.cgi?id=22463
--- Comment #19 from Erich Hoover ehoover@mines.edu 2010-05-11 21:25:04 --- (In reply to comment #16)
(In reply to comment #14)
Is the current git + patch back to where it was before?
It seems to be about the same as before the regression, yes. I don't think its necessarily the way it works in Windows, but its close enough for my application's purposes at least.
Since everything has moved with the recent patches the "appropriate" place to set the cursor is not precisely where the patch does it (I need to track down the appropriate caller of x11drv_init_thread_data and make the fix there).
Which maybe will be closer to way Windows behaves and an overall improvement.
Ok, so I downloaded the Prey demo and can confirm that the issue is not fixed for that particular application. I'm still not sure where the appropriate place is to fix this, but it appears that the call to initialize the thread data that causes the cursor to go away is SetCursorPos().
http://bugs.winehq.org/show_bug.cgi?id=22463
--- Comment #20 from jim jimportal@gmail.com 2010-05-12 14:53:49 --- Fixed for Prey in current git.
http://bugs.winehq.org/show_bug.cgi?id=22463
A Wine user RandomAccountName@mail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |RandomAccountName@mail.com
http://bugs.winehq.org/show_bug.cgi?id=22463
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #21 from Alexandre Julliard julliard@winehq.org 2010-05-17 06:28:39 --- Fixed.
http://bugs.winehq.org/show_bug.cgi?id=22463
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |lukasz.wojnilowicz@gmail.co | |m
--- Comment #22 from Alexandre Julliard julliard@winehq.org 2010-05-17 12:49:48 --- *** Bug 22742 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=22463
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #23 from Alexandre Julliard julliard@winehq.org 2010-05-21 14:40:04 --- Closing bugs fixed in 1.2-rc1.
http://bugs.winehq.org/show_bug.cgi?id=22463
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |776527f38f2ff89f354e49aa8df | |795440677376a