aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32
diff options
context:
space:
mode:
Diffstat (limited to 'OpenAL32')
-rw-r--r--OpenAL32/alAuxEffectSlot.c5
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;
}