From 929533c948c63781a77050eb0e8ef5b56195f960 Mon Sep 17 00:00:00 2001 From: z411 Date: Fri, 5 May 2023 03:13:27 -0400 Subject: [PATCH] mumble: backport fix for segfault with pipewire --- srcpkgs/mumble/patches/pipewire-fix.patch | 38 +++++++++++++++++++++++ srcpkgs/mumble/template | 2 +- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/mumble/patches/pipewire-fix.patch diff --git a/srcpkgs/mumble/patches/pipewire-fix.patch b/srcpkgs/mumble/patches/pipewire-fix.patch new file mode 100644 index 000000000000..460f00eb195c --- /dev/null +++ b/srcpkgs/mumble/patches/pipewire-fix.patch @@ -0,0 +1,38 @@ +From 24b9276d97cac459284143b936e46b626d7396f0 Mon Sep 17 00:00:00 2001 +From: Robert Adam +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); diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template index acb6af454e0f..35c2728c74ce 100644 --- a/srcpkgs/mumble/template +++ b/srcpkgs/mumble/template @@ -1,7 +1,7 @@ # Template file for 'mumble' pkgname=mumble version=1.4.287 -revision=2 +revision=3 build_style=cmake make_cmd=make configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF