Signed-off-by: Rémi Bernon rbernon@codeweavers.com --- dlls/dinput/joystick_hid.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/dlls/dinput/joystick_hid.c b/dlls/dinput/joystick_hid.c index 63cd5d7ca14..f8d7c5d21ac 100644 --- a/dlls/dinput/joystick_hid.c +++ b/dlls/dinput/joystick_hid.c @@ -53,6 +53,7 @@ struct hid_joystick PHIDP_PREPARSED_DATA preparsed;
DIDEVICEINSTANCEW instance; + WCHAR device_path[MAX_PATH]; HIDD_ATTRIBUTES attrs; };
@@ -132,6 +133,12 @@ static HRESULT WINAPI hid_joystick_GetProperty( IDirectInputDevice8W *iface, REF value->dwData = impl->instance.guidInstance.Data3; return DI_OK; } + case (DWORD_PTR)DIPROP_GUIDANDPATH: + { + DIPROPGUIDANDPATH *value = (DIPROPGUIDANDPATH *)header; + lstrcpynW( value->wszPath, impl->device_path, MAX_PATH ); + return DI_OK; + } default: return IDirectInputDevice2WImpl_GetProperty( iface, guid, header ); } } @@ -460,6 +467,7 @@ static HRESULT hid_joystick_create_device( IDirectInputImpl *dinput, REFGUID gui impl->preparsed = preparsed;
impl->instance = instance; + lstrcpynW( impl->device_path, device_path, MAX_PATH ); impl->attrs = attrs;
if (!(format = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*format) ))) goto failed;