aboutsummaryrefslogtreecommitdiffstats
path: root/al/filter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'al/filter.cpp')
-rw-r--r--al/filter.cpp7
1 files changed, 1 insertions, 6 deletions
diff --git a/al/filter.cpp b/al/filter.cpp
index b1118550..abb2795b 100644
--- a/al/filter.cpp
+++ b/al/filter.cpp
@@ -288,13 +288,9 @@ ALfilter *AllocFilter(ALCcontext *context)
);
auto lidx = static_cast<ALsizei>(std::distance(device->FilterList.begin(), sublist));
- ALfilter *filter{nullptr};
ALsizei slidx{0};
if LIKELY(sublist != device->FilterList.end())
- {
slidx = CTZ64(sublist->FreeMask);
- filter = sublist->Filters + slidx;
- }
else
{
/* Don't allocate so many list entries that the 32-bit ID could
@@ -317,10 +313,9 @@ ALfilter *AllocFilter(ALCcontext *context)
}
slidx = 0;
- filter = sublist->Filters + slidx;
}
- filter = new (filter) ALfilter{};
+ ALfilter *filter{::new (sublist->Filters + slidx) ALfilter{}};
InitFilterParams(filter, AL_FILTER_NULL);
/* Add 1 to avoid filter ID 0. */