aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2011-09-29 05:15:20 -0700
committerChris Robinson <[email protected]>2011-09-29 05:15:20 -0700
commit1b81642db586a1d15fbff5fce4d6534d727fcd3d (patch)
treee49742f01a329dd4e98abc421c2bc13dedb4ed6f /Alc
parentd3a6de3f867fc617190de317c26ed599e9e2c88d (diff)
Set the mixer FPU mode for device parameter updates
Diffstat (limited to 'Alc')
-rw-r--r--Alc/ALc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/Alc/ALc.c b/Alc/ALc.c
index e7872d00..3a24f5e9 100644
--- a/Alc/ALc.c
+++ b/Alc/ALc.c
@@ -1020,6 +1020,7 @@ static void alcSetError(ALCdevice *device, ALCenum errorCode)
static ALCboolean UpdateDeviceParams(ALCdevice *device, const ALCint *attrList)
{
ALCcontext *context;
+ int oldMode;
ALuint i;
// Check for attributes
@@ -1196,6 +1197,7 @@ static ALCboolean UpdateDeviceParams(ALCdevice *device, const ALCint *attrList)
}
TRACE("Stereo duplication %s\n", (device->Flags&DEVICE_DUPLICATE_STEREO)?"enabled":"disabled");
+ oldMode = SetMixerFPUMode();
context = device->ContextList;
while(context)
{
@@ -1241,6 +1243,7 @@ static ALCboolean UpdateDeviceParams(ALCdevice *device, const ALCint *attrList)
context = context->next;
}
+ RestoreFPUMode(oldMode);
UnlockDevice(device);
return ALC_TRUE;