diff options
Diffstat (limited to 'OpenAL32/event.c')
-rw-r--r-- | OpenAL32/event.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/OpenAL32/event.c b/OpenAL32/event.c index c0bf4204..4c9c0be2 100644 --- a/OpenAL32/event.c +++ b/OpenAL32/event.c @@ -6,6 +6,7 @@ #include "AL/alext.h" #include "alMain.h" #include "alError.h" +#include "alAuxEffectSlot.h" #include "ringbuffer.h" @@ -30,6 +31,12 @@ int EventThread(void *arg) quitnow = evt.EnumType == EventType_KillThread; if(quitnow) break; + if(evt.EnumType == EventType_ReleaseEffectState) + { + ALeffectState_DecRef(evt.u.EffectState); + continue; + } + enabledevts = ATOMIC_LOAD(&context->EnabledEvts, almemory_order_acquire); if(context->EventCb && (enabledevts&evt.EnumType) == evt.EnumType) context->EventCb(evt.u.user.type, evt.u.user.id, evt.u.user.param, |