diff options
| author | Admiral H. Curtiss <pikachu025@gmail.com> | 2022-11-27 04:42:25 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-27 04:42:25 +0100 |
| commit | c8d30968f356afaec67d7ec2582c35857f7c77cb (patch) | |
| tree | 311844102e160515710cd6654779fd5c4ab40ad4 /Source/Core/AudioCommon/CubebStream.cpp | |
| parent | 3cdc6e3d4a4f2362f5e2b5960821573a13663be2 (diff) | |
| parent | 64bb9ae9a95b953879a8e581cef0e5dbb346704b (diff) | |
Merge pull request #11306 from AdmiralCurtiss/cubeb-coinit-fixes
Correctly call CoUninitialize() on Cubeb helper class destruction.
Diffstat (limited to 'Source/Core/AudioCommon/CubebStream.cpp')
| -rw-r--r-- | Source/Core/AudioCommon/CubebStream.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Source/Core/AudioCommon/CubebStream.cpp b/Source/Core/AudioCommon/CubebStream.cpp index 5d3d70d9cb..f4566cb57e 100644 --- a/Source/Core/AudioCommon/CubebStream.cpp +++ b/Source/Core/AudioCommon/CubebStream.cpp @@ -46,6 +46,7 @@ CubebStream::CubebStream() Common::ScopeGuard sync_event_guard([&sync_event] { sync_event.Set(); }); auto result = ::CoInitializeEx(nullptr, COINIT_MULTITHREADED | COINIT_DISABLE_OLE1DDE); m_coinit_success = result == S_OK; + m_should_couninit = result == S_OK || result == S_FALSE; }); sync_event.Wait(); } @@ -137,11 +138,12 @@ CubebStream::~CubebStream() cubeb_stream_stop(m_stream); cubeb_stream_destroy(m_stream); #ifdef _WIN32 - if (m_coinit_success) + if (m_should_couninit) { - m_coinit_success = false; + m_should_couninit = false; CoUninitialize(); } + m_coinit_success = false; }); sync_event.Wait(); #endif |
