aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Alc/ALc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/Alc/ALc.c b/Alc/ALc.c
index 805be2fa..53455fdf 100644
--- a/Alc/ALc.c
+++ b/Alc/ALc.c
@@ -1840,9 +1840,10 @@ static ALCenum UpdateDeviceParams(ALCdevice *device, const ALCint *attrList)
V(device->Synth,update)(device);
device->Hrtf = NULL;
- if(device->Type != Loopback && ConfigValueExists(NULL, "hrtf"))
+ if(device->Type != Loopback)
{
- if(GetConfigValueBool(NULL, "hrtf", AL_FALSE))
+ int nohrtf = !(device->Flags&DEVICE_HRTF_REQUEST);
+ if(GetConfigValueBool(NULL, "hrtf", !nohrtf))
device->Flags |= DEVICE_HRTF_REQUEST;
else
device->Flags &= ~DEVICE_HRTF_REQUEST;