diff --git a/src/unix/sound.cpp b/src/unix/sound.cpp index 20646f2d7e..3a7c684a7a 100644 --- a/src/unix/sound.cpp +++ b/src/unix/sound.cpp @@ -336,6 +336,7 @@ private: #if wxUSE_THREADS wxThread::ExitCode wxSoundAsyncPlaybackThread::Entry() { + m_adapt->m_mutexRightToPlay.Lock(); m_adapt->m_backend->Play(m_data, m_flags & ~wxSOUND_ASYNC, &m_adapt->m_status); @@ -361,6 +362,7 @@ bool wxSoundSyncOnlyAdaptor::Play(wxSoundData *data, unsigned flags, wxThread *th = new wxSoundAsyncPlaybackThread(this, data, flags); th->Create(); th->Run(); + m_mutexRightToPlay.Unlock(); wxLogTrace(wxT("sound"), wxT("launched async playback thread")); return true; #else