aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2011-09-29 05:25:01 -0700
committerChris Robinson <[email protected]>2011-09-29 05:25:01 -0700
commit3c27c24dec5cc6830a53b098d8e94cb3d28b4aeb (patch)
treeb0596019394465cead9bcd575d6423cc900d0a39 /OpenAL32
parent1b81642db586a1d15fbff5fce4d6534d727fcd3d (diff)
Set the mixer FPU mode when setting a new effect on an effect slot
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;
}