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
On Tue, May 21, 2013 at 02:52:55PM -0600, Charles Davis wrote:
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.
Interesting, thanks. I'll go back and fix this.
Andrew