Fixed mutex causing crash in openal_output.cpp

simplify_debugging
Robert 2 years ago committed by psi29a
parent ab17d0947a
commit 23dc38fe12

@ -710,8 +710,8 @@ namespace MWSound
bool OpenAL_Output::init(const std::string& devname, const std::string& hrtfname, HrtfMode hrtfmode) bool OpenAL_Output::init(const std::string& devname, const std::string& hrtfname, HrtfMode hrtfmode)
{ {
const std::lock_guard<std::mutex> lock(mReopenMutex);
deinit(); deinit();
std::lock_guard<std::mutex> lock(mReopenMutex);
Log(Debug::Info) << "Initializing OpenAL..."; Log(Debug::Info) << "Initializing OpenAL...";
@ -979,7 +979,7 @@ namespace MWSound
void OpenAL_Output::deinit() void OpenAL_Output::deinit()
{ {
mStreamThread->removeAll(); mStreamThread->removeAll();
mDefaultDeviceThread.release(); mDefaultDeviceThread.reset();
for (ALuint source : mFreeSources) for (ALuint source : mFreeSources)
alDeleteSources(1, &source); alDeleteSources(1, &source);
@ -1660,7 +1660,6 @@ namespace MWSound
OpenAL_Output::~OpenAL_Output() OpenAL_Output::~OpenAL_Output()
{ {
const std::lock_guard<std::mutex> lock(mReopenMutex);
OpenAL_Output::deinit(); OpenAL_Output::deinit();
} }

Loading…
Cancel
Save