aboutsummaryrefslogtreecommitdiffstats
path: root/al/source.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'al/source.cpp')
-rw-r--r--al/source.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/al/source.cpp b/al/source.cpp
index 60debbd1..4099f9ea 100644
--- a/al/source.cpp
+++ b/al/source.cpp
@@ -91,6 +91,7 @@ ALvoice *GetSourceVoice(ALsource *source, ALCcontext *context)
return nullptr;
}
+
void UpdateSourceProps(const ALsource *source, ALvoice *voice, ALCcontext *context)
{
/* Get an unused property container, or allocate a new one as needed. */
@@ -505,10 +506,10 @@ void InitVoice(ALvoice *voice, ALsource *source, ALbufferlistitem *BufferList, A
std::for_each(voice->mChans.begin(), voice->mChans.begin()+voice->mNumChannels, init_nfc);
}
- voice->mSourceID.store(source->id, std::memory_order_release);
-
source->PropsClean.test_and_set(std::memory_order_acq_rel);
UpdateSourceProps(source, voice, context);
+
+ voice->mSourceID.store(source->id, std::memory_order_release);
}