Commit 54b2fc35 authored by Rémi Bernon's avatar Rémi Bernon Committed by Alexandre Julliard

dinput: Return correct errors from HID joystick IDirectInputDevice8_Poll.

parent aa43d24c
...@@ -704,6 +704,18 @@ static HRESULT WINAPI hid_joystick_GetDeviceInfo( IDirectInputDevice8W *iface, D ...@@ -704,6 +704,18 @@ static HRESULT WINAPI hid_joystick_GetDeviceInfo( IDirectInputDevice8W *iface, D
return S_OK; return S_OK;
} }
static HRESULT WINAPI hid_joystick_Poll( IDirectInputDevice8W *iface )
{
struct hid_joystick *impl = impl_from_IDirectInputDevice8W( iface );
HRESULT hr = DI_NOEFFECT;
EnterCriticalSection( &impl->base.crit );
if (!impl->base.acquired) hr = DIERR_NOTACQUIRED;
LeaveCriticalSection( &impl->base.crit );
return hr;
}
static HRESULT WINAPI hid_joystick_BuildActionMap( IDirectInputDevice8W *iface, DIACTIONFORMATW *format, static HRESULT WINAPI hid_joystick_BuildActionMap( IDirectInputDevice8W *iface, DIACTIONFORMATW *format,
const WCHAR *username, DWORD flags ) const WCHAR *username, DWORD flags )
{ {
...@@ -756,7 +768,7 @@ static const IDirectInputDevice8WVtbl hid_joystick_vtbl = ...@@ -756,7 +768,7 @@ static const IDirectInputDevice8WVtbl hid_joystick_vtbl =
IDirectInputDevice2WImpl_SendForceFeedbackCommand, IDirectInputDevice2WImpl_SendForceFeedbackCommand,
IDirectInputDevice2WImpl_EnumCreatedEffectObjects, IDirectInputDevice2WImpl_EnumCreatedEffectObjects,
IDirectInputDevice2WImpl_Escape, IDirectInputDevice2WImpl_Escape,
IDirectInputDevice2WImpl_Poll, hid_joystick_Poll,
IDirectInputDevice2WImpl_SendDeviceData, IDirectInputDevice2WImpl_SendDeviceData,
/*** IDirectInputDevice7 methods ***/ /*** IDirectInputDevice7 methods ***/
IDirectInputDevice7WImpl_EnumEffectsInFile, IDirectInputDevice7WImpl_EnumEffectsInFile,
......
...@@ -4102,7 +4102,6 @@ static void test_simple_joystick(void) ...@@ -4102,7 +4102,6 @@ static void test_simple_joystick(void)
ok( hr == DI_OK, "IDirectInputDevice8_Acquire returned: %#x\n", hr ); ok( hr == DI_OK, "IDirectInputDevice8_Acquire returned: %#x\n", hr );
hr = IDirectInputDevice8_Poll( device ); hr = IDirectInputDevice8_Poll( device );
todo_wine
ok( hr == DI_NOEFFECT, "IDirectInputDevice8_Poll returned: %#x\n", hr ); ok( hr == DI_NOEFFECT, "IDirectInputDevice8_Poll returned: %#x\n", hr );
hr = IDirectInputDevice8_GetDeviceState( device, sizeof(DIJOYSTATE2) + 1, &state ); hr = IDirectInputDevice8_GetDeviceState( device, sizeof(DIJOYSTATE2) + 1, &state );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment