aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32/alAuxEffectSlot.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2018-09-21 02:37:37 -0700
committerChris Robinson <[email protected]>2018-09-21 04:14:15 -0700
commitb6d0ff02c2ec52d2c12a58f2be83b4c3eaa93afe (patch)
treef0d8d0d56589b38d623dd746ff7435d3a63026b6 /OpenAL32/alAuxEffectSlot.c
parentf21e2df4cf0d51fda31f5607e1bf966459d9bf9d (diff)
Use an internal event to more timely release old effect states
Diffstat (limited to 'OpenAL32/alAuxEffectSlot.c')
-rw-r--r--OpenAL32/alAuxEffectSlot.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/OpenAL32/alAuxEffectSlot.c b/OpenAL32/alAuxEffectSlot.c
index b293b6a5..8141e0f6 100644
--- a/OpenAL32/alAuxEffectSlot.c
+++ b/OpenAL32/alAuxEffectSlot.c
@@ -753,6 +753,9 @@ void UpdateEffectSlotProps(ALeffectslot *slot, ALCcontext *context)
/* If there was an unused update container, put it back in the
* freelist.
*/
+ if(props->State)
+ ALeffectState_DecRef(props->State);
+ props->State = NULL;
ATOMIC_REPLACE_HEAD(struct ALeffectslotProps*, &context->FreeEffectslotProps, props);
}