[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