Vitaliy Margolen : dinput: Fix POV for programs that use buffered events.

Alexandre Julliard julliard at winehq.org
Fri Sep 11 10:52:41 CDT 2009


Module: wine
Branch: master
Commit: 8c279bb80b5331bda20f8756cc6aac821a58c70a
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8c279bb80b5331bda20f8756cc6aac821a58c70a

Author: Vitaliy Margolen <wine-patches at kievinfo.com>
Date:   Thu Sep 10 23:03:47 2009 -0600

dinput: Fix POV for programs that use buffered events.

---

 dlls/dinput/joystick_linux.c      |    3 ++-
 dlls/dinput/joystick_linuxinput.c |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/dlls/dinput/joystick_linux.c b/dlls/dinput/joystick_linux.c
index bf31eaf..2203a20 100644
--- a/dlls/dinput/joystick_linux.c
+++ b/dlls/dinput/joystick_linux.c
@@ -582,7 +582,8 @@ static void joy_polldev(JoystickGenericImpl *This_in) {
             int number = This->generic.axis_map[jse.number];	/* wine format object index */
 
             if (number < 0) return;
-            inst_id = DIDFT_MAKEINSTANCE(number) | (number < 8 ? DIDFT_ABSAXIS : DIDFT_POV);
+            inst_id = number < 8 ?  DIDFT_MAKEINSTANCE(number) | DIDFT_ABSAXIS :
+                                    DIDFT_MAKEINSTANCE(number - 8) | DIDFT_POV;
             value = joystick_map_axis(&This->generic.props[id_to_object(This->generic.base.data_format.wine_df, inst_id)], jse.value);
 
             TRACE("changing axis %d => %d\n", jse.number, number);
diff --git a/dlls/dinput/joystick_linuxinput.c b/dlls/dinput/joystick_linuxinput.c
index 42daaeb..67a1ee3 100644
--- a/dlls/dinput/joystick_linuxinput.c
+++ b/dlls/dinput/joystick_linuxinput.c
@@ -779,7 +779,8 @@ static void joy_polldev(JoystickGenericImpl *iface)
             axis = This->generic.axis_map[axis];
             if (axis < 0) break;
 
-            inst_id = DIDFT_MAKEINSTANCE(axis) | (axis < 8 ? DIDFT_ABSAXIS : DIDFT_POV);
+            inst_id = axis < 8 ?  DIDFT_MAKEINSTANCE(axis) | DIDFT_ABSAXIS :
+                                  DIDFT_MAKEINSTANCE(axis - 8) | DIDFT_POV;
             value = joystick_map_axis(&This->generic.props[id_to_object(This->generic.base.data_format.wine_df, inst_id)], ie.value);
 
 	    switch (axis) {




More information about the wine-cvs mailing list