Vitaliy Margolen : dinput: Make EnumDevices and GetObjectInfo consistent about GUIDs.

Alexandre Julliard julliard at winehq.org
Mon Apr 20 11:33:08 CDT 2009


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

Author: Vitaliy Margolen <wine-patches at kievinfo.com>
Date:   Sun Apr 19 20:33:22 2009 -0600

dinput: Make EnumDevices and GetObjectInfo consistent about GUIDs.

guidInstance should be the same from both places.

---

 dlls/dinput/joystick.c         |    4 ++--
 dlls/dinput/joystick_linux.c   |    2 ++
 dlls/dinput/joystick_osx.c     |    2 ++
 dlls/dinput/joystick_private.h |    1 +
 4 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/dlls/dinput/joystick.c b/dlls/dinput/joystick.c
index 6e7e7ef..fbf05ec 100644
--- a/dlls/dinput/joystick.c
+++ b/dlls/dinput/joystick.c
@@ -332,7 +332,7 @@ HRESULT WINAPI JoystickAGenericImpl_GetDeviceInfo(
     }
 
     /* Return joystick */
-    pdidi->guidInstance = GUID_Joystick;
+    pdidi->guidInstance = This->guidInstance;
     pdidi->guidProduct = This->guidProduct;
     /* we only support traditional joysticks for now */
     pdidi->dwDevType = This->devcaps.dwDevType;
@@ -365,7 +365,7 @@ HRESULT WINAPI JoystickWGenericImpl_GetDeviceInfo(
     }
 
     /* Return joystick */
-    pdidi->guidInstance = GUID_Joystick;
+    pdidi->guidInstance = This->guidInstance;
     pdidi->guidProduct = This->guidProduct;
     /* we only support traditional joysticks for now */
     pdidi->dwDevType = This->devcaps.dwDevType;
diff --git a/dlls/dinput/joystick_linux.c b/dlls/dinput/joystick_linux.c
index afabebe..fcf1552 100644
--- a/dlls/dinput/joystick_linux.c
+++ b/dlls/dinput/joystick_linux.c
@@ -379,6 +379,8 @@ static HRESULT alloc_device(REFGUID rguid, const void *jvt, IDirectInputImpl *di
         return DIERR_DEVICENOTREG;
     }
 
+    newDevice->generic.guidInstance = DInput_Wine_Joystick_GUID;
+    newDevice->generic.guidInstance.Data3 = index;
     newDevice->generic.guidProduct = DInput_Wine_Joystick_GUID;
     newDevice->generic.joy_polldev = joy_polldev;
 
diff --git a/dlls/dinput/joystick_osx.c b/dlls/dinput/joystick_osx.c
index d5a5f17..7305bb9 100644
--- a/dlls/dinput/joystick_osx.c
+++ b/dlls/dinput/joystick_osx.c
@@ -650,6 +650,8 @@ static HRESULT alloc_device(REFGUID rguid, const void *jvt, IDirectInputImpl *di
 
     newDevice->id = index;
 
+    newDevice->generic.guidInstance = DInput_Wine_OsX_Joystick_GUID;
+    newDevice->generic.guidInstance.Data3 = index;
     newDevice->generic.guidProduct = DInput_Wine_OsX_Joystick_GUID;
     newDevice->generic.joy_polldev = poll_osx_device_state;
 
diff --git a/dlls/dinput/joystick_private.h b/dlls/dinput/joystick_private.h
index b61406f..803e0dd 100644
--- a/dlls/dinput/joystick_private.h
+++ b/dlls/dinput/joystick_private.h
@@ -41,6 +41,7 @@ typedef struct JoystickGenericImpl
     DIDEVCAPS   devcaps;
     DIJOYSTATE2 js;     /* wine data */
     GUID        guidProduct;
+    GUID        guidInstance;
     char        *name;
 
     joy_polldev_handler *joy_polldev;




More information about the wine-cvs mailing list