diff --git a/Userland/Libraries/LibAudio/PulseAudioWrappers.cpp b/Userland/Libraries/LibAudio/PulseAudioWrappers.cpp index 2eba33d199..d6c6bb339a 100644 --- a/Userland/Libraries/LibAudio/PulseAudioWrappers.cpp +++ b/Userland/Libraries/LibAudio/PulseAudioWrappers.cpp @@ -105,8 +105,11 @@ PulseAudioContext::PulseAudioContext(pa_threaded_mainloop* main_loop, pa_mainloo PulseAudioContext::~PulseAudioContext() { - pa_context_disconnect(m_context); - pa_context_unref(m_context); + { + auto locker = main_loop_locker(); + pa_context_disconnect(m_context); + pa_context_unref(m_context); + } pa_threaded_mainloop_stop(m_main_loop); pa_threaded_mainloop_free(m_main_loop); }