[PATCH v4 6/6] winex11.drv: Only call XWarpPointer if we can get exclusive pointer grab
Rémi Bernon
rbernon at codeweavers.com
Mon Sep 9 08:23:42 CDT 2019
On 9/9/19 2:25 PM, Henri Verbeet wrote:
> On Fri, 30 Aug 2019 at 14:49, Rémi Bernon <rbernon at codeweavers.com> wrote:
>>
>> XWarpPointer will always succeed, regardless of grabs, so if the pointer
>> is already grabbed, by some other application, we should not ask to warp
>> it.
>>
>> Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
>> ---
>> dlls/winex11.drv/mouse.c | 13 +++++++++++++
>> 1 file changed, 13 insertions(+)
>>
> This breaks the d3d8 and d3d9 test_cursor_pos() tests:
>
> device.c:1122: Test failed: Didn't receive MOUSEMOVE 5 (125, 125).
>
I guess it could be the MotionNotify event caused by XWarpPointer that
may not be received anymore, as the cursor grab is called on the root
window, but I believe they were supposed to be ignored anyway (see
warp_serial and is_old_motion_event function).
Also, when running these tests on the testbot, I don't see any failure
(I commented out the other tests, but that should be ok, right?):
* https://testbot.winehq.org/JobDetails.pl?Key=56365
* https://testbot.winehq.org/JobDetails.pl?Key=56366
Same thing when running the tests locally. Tested in Xephyr with
openbox, and with my session's X server with mutter.
Could you give me more details about how you got the failure?
Cheers,
--
Rémi Bernon <rbernon at codeweavers.com>
More information about the wine-devel
mailing list