Exemplo n.º 1
0
void
SDL_DINPUT_HapticDestroyEffect(SDL_Haptic * haptic, struct haptic_effect *effect)
{
    HRESULT ret;

    ret = IDirectInputEffect_Unload(effect->hweffect->ref);
    if (FAILED(ret)) {
        DI_SetError("Removing effect from the device", ret);
    }
    SDL_SYS_HapticFreeDIEFFECT(&effect->hweffect->effect, effect->effect.type);
}
Exemplo n.º 2
0
/*
 * Frees the effect.
 */
void
SDL_SYS_HapticDestroyEffect(SDL_Haptic * haptic, struct haptic_effect *effect)
{
    HRESULT ret;

    if (haptic->hwdata->bXInputHaptic) {
        SDL_SYS_HapticStopEffect(haptic, effect);
    } else {
        ret = IDirectInputEffect_Unload(effect->hweffect->ref);
        if (FAILED(ret)) {
            DI_SetError("Removing effect from the device", ret);
        }
        SDL_SYS_HapticFreeDIEFFECT(&effect->hweffect->effect,
                                   effect->effect.type);
    }
    SDL_free(effect->hweffect);
    effect->hweffect = NULL;
}