Patch-Source: https://github.com/xbmc/xbmc/pull/26126 --- From 9530076d0cc3e240c9f0ef3b4a29af03d898fc1e Mon Sep 17 00:00:00 2001 From: Stephan <40370954+stephan49@users.noreply.github.com> Date: Thu, 19 Dec 2024 02:16:55 -0500 Subject: [PATCH] PipeWire: fix thread loop unlock error --- xbmc/cores/AudioEngine/Sinks/pipewire/Pipewire.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/xbmc/cores/AudioEngine/Sinks/pipewire/Pipewire.cpp b/xbmc/cores/AudioEngine/Sinks/pipewire/Pipewire.cpp index 25b5518d32a5f..8e2e094236773 100644 --- a/xbmc/cores/AudioEngine/Sinks/pipewire/Pipewire.cpp +++ b/xbmc/cores/AudioEngine/Sinks/pipewire/Pipewire.cpp @@ -29,15 +29,19 @@ CPipewire::CPipewire() CPipewire::~CPipewire() { + if (m_loop) + m_loop->Lock(); + + m_registry.reset(); + m_core.reset(); + m_context.reset(); + if (m_loop) { m_loop->Unlock(); m_loop->Stop(); } - m_registry.reset(); - m_core.reset(); - m_context.reset(); m_loop.reset(); pw_deinit();