aboutsummaryrefslogtreecommitdiffstats
path: root/alc
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2019-08-13 22:25:59 -0700
committerChris Robinson <[email protected]>2019-08-13 22:25:59 -0700
commit351ccf2e11cfc429eeb76f7812565d0ed27043d5 (patch)
treeb3ff80b389c5ba41bed0d61031ff3b0c028c4759 /alc
parentecab99bce914c6c74351fb2d5878dd82d73b1fe2 (diff)
Use new/delete for context and effectslot properties
Diffstat (limited to 'alc')
-rw-r--r--alc/alc.cpp6
-rw-r--r--alc/alcontext.h2
2 files changed, 5 insertions, 3 deletions
diff --git a/alc/alc.cpp b/alc/alc.cpp
index baf31993..9be224d5 100644
--- a/alc/alc.cpp
+++ b/alc/alc.cpp
@@ -2322,14 +2322,14 @@ ALCcontext::~ALCcontext()
if(cprops)
{
TRACE("Freed unapplied context update %p\n", cprops);
- al_free(cprops);
+ delete cprops;
}
size_t count{0};
cprops = mFreeContextProps.exchange(nullptr, std::memory_order_acquire);
while(cprops)
{
ALcontextProps *next{cprops->next.load(std::memory_order_relaxed)};
- al_free(cprops);
+ delete cprops;
cprops = next;
++count;
}
@@ -2350,7 +2350,7 @@ ALCcontext::~ALCcontext()
{
ALeffectslotProps *next{eprops->next.load(std::memory_order_relaxed)};
if(eprops->State) eprops->State->release();
- al_free(eprops);
+ delete eprops;
eprops = next;
++count;
}
diff --git a/alc/alcontext.h b/alc/alcontext.h
index f30a4bd0..c91d0a21 100644
--- a/alc/alcontext.h
+++ b/alc/alcontext.h
@@ -50,6 +50,8 @@ struct ALcontextProps {
DistanceModel mDistanceModel;
std::atomic<ALcontextProps*> next;
+
+ DEF_NEWDEL(ALcontextProps)
};