[Bug 47834] Borderlands 1 (version 1.5.0) doesn't capture mouse

WineHQ Bugzilla wine-bugs at winehq.org
Mon Sep 30 15:12:46 CDT 2019


https://bugs.winehq.org/show_bug.cgi?id=47834

--- Comment #7 from kolAflash <kolAflash at kolahilft.de> ---
Some additional information:
My OS: openSUSE-15.1
And I don't got the xf86-input-libinput package installed.
Also I got "Automatically capture the mouse in full-screen windows" enabled in
winecfg.


Some (In reply to Alistair Leslie-Hughes from comment #6)
> [...]
> We know its the user32-rawinput patchset.  Are you able to track down which
> of these patches is causing the issue?

Sure, it's 0007-winex11.drv-Implement-native-mouse-movement-raw-inpu.patch
But you can't compile it because of a syntax bug.
There's a ")" missing before "return".

+++ b/dlls/winex11.drv/mouse.c
[...]
@@ -1801,16 +1828,20 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev
)
[...]
+    if ((thread_data->x_rel_valuator.number < 0 ||
thread_data->y_rel_valuator.number < 0) &&
+        (thread_data->x_abs_valuator.number < 0 ||
thread_data->y_abs_valuator.number < 0) return FALSE;

The syntax bug is fixed by the succeeding
0008-winex11.drv-Implement-native-mouse-button-raw-input-.patch
But if you add the ")" and compile, the bug already appears with
triple-o-seven.


These lines also look odd, because they now have XI_DeviceChanged twice.

+++ b/dlls/winex11.drv/mouse.c
[...]
@@ -324,8 +336,8 @@ static void enable_xinput2(void)
     mask.mask_len = sizeof(mask_bits);
     mask.deviceid = XIAllMasterDevices;
     memset( mask_bits, 0, sizeof(mask_bits) );
+    XISetMask( mask_bits, XI_DeviceChanged );
     XISetMask( mask_bits, XI_RawMotion );
-    XISetMask( mask_bits, XI_ButtonPress );
     XISetMask( mask_bits, XI_DeviceChanged );

-- 
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