diff options
-rw-r--r-- | OpenAL32/alAuxEffectSlot.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/OpenAL32/alAuxEffectSlot.c b/OpenAL32/alAuxEffectSlot.c index 42dd20cb..c8a12d33 100644 --- a/OpenAL32/alAuxEffectSlot.c +++ b/OpenAL32/alAuxEffectSlot.c @@ -560,6 +560,9 @@ static ALvoid InitializeEffect(ALCcontext *Context, ALeffectslot *EffectSlot, AL if(State) { + int oldMode; + oldMode = SetMixerFPUMode(); + if(ALeffectState_DeviceUpdate(State, Context->Device) == AL_FALSE) { UnlockContext(Context); @@ -580,6 +583,8 @@ static ALvoid InitializeEffect(ALCcontext *Context, ALeffectslot *EffectSlot, AL ALeffectState_Update(EffectSlot->EffectState, Context, EffectSlot); UnlockContext(Context); + RestoreFPUMode(oldMode); + ALeffectState_Destroy(State); State = NULL; } |