Signed-off-by: Andrew Eikum aeikum@codeweavers.com
On Wed, May 27, 2020 at 11:55:50PM +0200, Jacek Caban wrote:
Signed-off-by: Jacek Caban jacek@codeweavers.com
dlls/winmm/joystick.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/dlls/winmm/joystick.c b/dlls/winmm/joystick.c index e844be1837..2b1811d377 100644 --- a/dlls/winmm/joystick.c +++ b/dlls/winmm/joystick.c @@ -55,6 +55,12 @@ typedef struct tagWINE_JOYSTICK {
static WINE_JOYSTICK JOY_Sticks[MAXJOYSTICK];
+static BOOL compare_uint(unsigned int x, unsigned int y, unsigned int max_diff) +{
- unsigned int diff = x > y ? x - y : y - x;
- return diff <= max_diff;
+}
/**************************************************************************
JOY_LoadDriver [internal]
*/ @@ -106,14 +112,14 @@ static void CALLBACK JOY_Timer(HWND hWnd, UINT wMsg, UINT_PTR wTimer, DWORD dwTi pos = MAKELONG(ji.wXpos, ji.wYpos);
if (!joy->bChanged ||
abs(joy->ji.wXpos - ji.wXpos) > joy->threshold ||
abs(joy->ji.wYpos - ji.wYpos) > joy->threshold) {
!compare_uint(joy->ji.wXpos, ji.wXpos, joy->threshold) ||
} if (!joy->bChanged ||!compare_uint(joy->ji.wYpos, ji.wYpos, joy->threshold)) { SendMessageA(joy->hCapture, MM_JOY1MOVE + i, ji.wButtons, pos); joy->ji.wXpos = ji.wXpos; joy->ji.wYpos = ji.wYpos;
abs(joy->ji.wZpos - ji.wZpos) > joy->threshold) {
}!compare_uint(joy->ji.wZpos, ji.wZpos, joy->threshold)) { SendMessageA(joy->hCapture, MM_JOY1ZMOVE + i, ji.wButtons, pos); joy->ji.wZpos = ji.wZpos;