On May 21, 2013, at 1:34 PM, Andrew Eikum wrote: > --- > dlls/dinput/joystick_osx.c | 34 ++++++++++++++++++++++++++++++++-- > 1 file changed, 32 insertions(+), 2 deletions(-) > > diff --git a/dlls/dinput/joystick_osx.c b/dlls/dinput/joystick_osx.c > index 94398e7..8fb675d 100644 > --- a/dlls/dinput/joystick_osx.c > +++ b/dlls/dinput/joystick_osx.c > @@ -1135,6 +1135,36 @@ static HRESULT WINAPI > JoystickAImpl_CreateEffect(IDirectInputDevice8A *iface, > type, params, out, outer); > } > > +static HRESULT WINAPI > JoystickWImpl_SendForceFeedbackCommand(IDirectInputDevice8W *iface, > + DWORD flags) > +{ > + JoystickImpl *This = impl_from_IDirectInputDevice8W(iface); > + HRESULT hr; > + > + TRACE("%p 0x%x\n", This, flags); > + > + if(!This->ff) > + return DI_NOEFFECT; > + > + hr = FFDeviceSendForceFeedbackCommand(This->ff, flags); > + if(FAILED(hr)){ > + WARN("FFDeviceSendForceFeedbackCommand failed: %08x\n", hr); > + return hr; You can't return the straight HRESULT from ForceFeedback here. That's because the codes in the FACILITY_NULL range on Mac get their values from the 16-bit COM runtime (cf. <CoreFoundation/CFPlugInCOM.h>). You must turn them into their corresponding Win32 codes.
Chip