diff options
Diffstat (limited to 'al/auxeffectslot.cpp')
-rw-r--r-- | al/auxeffectslot.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/al/auxeffectslot.cpp b/al/auxeffectslot.cpp index ac9bcd71..6b5c9feb 100644 --- a/al/auxeffectslot.cpp +++ b/al/auxeffectslot.cpp @@ -645,23 +645,18 @@ ALenum InitializeEffect(ALCcontext *Context, ALeffectslot *EffectSlot, ALeffect EffectState *State{factory->create()}; if(!State) return AL_OUT_OF_MEMORY; - FPUCtl mixer_mode{}; ALCdevice *Device{Context->mDevice.get()}; std::unique_lock<std::mutex> statelock{Device->StateLock}; State->mOutTarget = Device->Dry.Buffer; - if(State->deviceUpdate(Device) == AL_FALSE) { - statelock.unlock(); - mixer_mode.leave(); - State->release(); - return AL_OUT_OF_MEMORY; + FPUCtl mixer_mode{}; + State->deviceUpdate(Device); } - mixer_mode.leave(); if(!effect) { EffectSlot->Effect.Type = AL_EFFECT_NULL; - EffectSlot->Effect.Props = EffectProps {}; + EffectSlot->Effect.Props = EffectProps{}; } else { |