[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