39 lines
986 B
Diff
39 lines
986 B
Diff
From 24b9276d97cac459284143b936e46b626d7396f0 Mon Sep 17 00:00:00 2001
|
|
From: Robert Adam <dev@robert-adam.de>
|
|
Date: Tue, 11 Apr 2023 13:50:47 +0200
|
|
Subject: [PATCH] FIX(client): PipeWire crash
|
|
|
|
When destroying the PipeWire object we first destroyed the thread loop
|
|
and then the stream, but this has to be done in reverse order in order
|
|
to avoid crashes.
|
|
|
|
Fixes #6101
|
|
|
|
Source: https://github.com/mumble-voip/mumble/pull/6103
|
|
---
|
|
src/mumble/PipeWire.cpp | 7 ++++---
|
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/src/mumble/PipeWire.cpp b/src/mumble/PipeWire.cpp
|
|
index 91924e4fb1..c206ab5bbb 100644
|
|
--- a/src/mumble/PipeWire.cpp
|
|
+++ b/src/mumble/PipeWire.cpp
|
|
@@ -213,13 +213,14 @@ PipeWireEngine::~PipeWireEngine() {
|
|
return;
|
|
}
|
|
|
|
+ if (m_stream) {
|
|
+ pws->pw_stream_destroy(m_stream);
|
|
+ }
|
|
+
|
|
if (m_thread) {
|
|
pws->pw_thread_loop_destroy(m_thread);
|
|
}
|
|
|
|
- if (m_stream) {
|
|
- pws->pw_stream_destroy(m_stream);
|
|
- }
|
|
|
|
if (m_loop) {
|
|
pws->pw_loop_destroy(m_loop);
|