[Bug 27522] Mouse motion blocked or laggy while clicking
wine-bugs at winehq.org
wine-bugs at winehq.org
Thu Jul 7 09:39:38 CDT 2011
http://bugs.winehq.org/show_bug.cgi?id=27522
--- Comment #18 from William Pettersson <william.pettersson+wine at gmail.com> 2011-07-07 09:39:34 CDT ---
Created an attachment (id=35464)
--> (http://bugs.winehq.org/attachment.cgi?id=35464)
Adds XI_ButtonPress to events registered for processing
Just ran some trace logs (WINEDEBUG=trace+cursor) and noticed the following:
While the mouse is captured, and I'm holding down a mouse button, no RawMotion
events are seen.
However, if the mouse is not captured, then I do see RawMotion events while
holding down a mouse button and moving the mouse.
I think this might have something to do with passive grabbing. Reading from
http://www.mail-archive.com/[email protected]/msg16250.html it seems like
that basic test program has the exact same issue, while holding down a mouse
button, the app doesn't "see" motion events any more.
Reading further on
http://comments.gmane.org/gmane.comp.freedesktop.xorg.devel/21612 it seems like
this is intended behaviour.
This behaviour holds with both RawButtonPress/RawMotion and ButtonPress/Motion,
it appears that if we don't register for the button press, then any motion
events that come after between a press and a release won't be sent to the
calling application.
It seems like just registering for the ButtonPress event, however, is all that
we need to get a "passive grab" which then gives us the RawMotion events again.
The attached file simply just registers the XI_ButtonPress, and it "fixes" the
issue for me. I am not sure why this issue only shows up when the mouse is set
to be captured, and it seems like a hack to me, but I think the only proper
solution is to fully implement libXi mouse button presses as well, so I don't
know whether this is worthwhile as a stopgap measure.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list