diff options
author | Chris Robinson <[email protected]> | 2018-11-18 23:02:31 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2018-11-18 23:02:31 -0800 |
commit | e0d0faaa634b5e3f14f0a3c477aba4dbf78683fb (patch) | |
tree | 19c7225703e7e5f320f5254673b959d10b888b04 /OpenAL32/alSource.cpp | |
parent | 362979cefb413e04dd4698d282779436e0a86bbc (diff) |
Use a normal vector for filter sublists
Diffstat (limited to 'OpenAL32/alSource.cpp')
-rw-r--r-- | OpenAL32/alSource.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/OpenAL32/alSource.cpp b/OpenAL32/alSource.cpp index 33aedb09..2fe81320 100644 --- a/OpenAL32/alSource.cpp +++ b/OpenAL32/alSource.cpp @@ -89,16 +89,15 @@ static inline ALbuffer *LookupBuffer(ALCdevice *device, ALuint id) static inline ALfilter *LookupFilter(ALCdevice *device, ALuint id) { - FilterSubList *sublist; ALuint lidx = (id-1) >> 6; ALsizei slidx = (id-1) & 0x3f; - if(UNLIKELY(lidx >= VECTOR_SIZE(device->FilterList))) - return NULL; - sublist = &VECTOR_ELEM(device->FilterList, lidx); - if(UNLIKELY(sublist->FreeMask & (U64(1)<<slidx))) - return NULL; - return sublist->Filters + slidx; + if(UNLIKELY(lidx >= device->FilterList.size())) + return nullptr; + FilterSubList &sublist = device->FilterList[lidx]; + if(UNLIKELY(sublist.FreeMask & (U64(1)<<slidx))) + return nullptr; + return sublist.Filters + slidx; } static inline ALeffectslot *LookupEffectSlot(ALCcontext *context, ALuint id) |