diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-11-12 03:31:11 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-11-12 03:31:11 +0000 |
commit | 3a9a4f8b478ff62e3c752e20305edb2c7d91959f (patch) | |
tree | af2b80e575254ddcdc57ea6b2ae02607bb0a7824 /media-libs/pulseaudio-qt | |
parent | 7236d0a40beeff3f6f0fcede52d54dfb81880faa (diff) |
gentoo auto-resync : 12:11:2022 - 03:31:11
Diffstat (limited to 'media-libs/pulseaudio-qt')
3 files changed, 82 insertions, 0 deletions
diff --git a/media-libs/pulseaudio-qt/Manifest b/media-libs/pulseaudio-qt/Manifest index b077dbbf4759..f66d0ddb032b 100644 --- a/media-libs/pulseaudio-qt/Manifest +++ b/media-libs/pulseaudio-qt/Manifest @@ -1,3 +1,5 @@ +AUX pulseaudio-qt-1.3-no-crash-if-no-server-response.patch 1523 BLAKE2B c13e9cae9bfbae785efc63828244aaa60ae2c4d8360db235e045ba7a1a9e5a6873f282599af82b6048b9495be75c9aef66f5e9cd2dad639e9ca31dda78b44d90 SHA512 0d0c6cea82a34f3a756b1d72787426d9b0cb32f0bddd6696f3f2f26c75290fa986893a4fcac6fed64250aef2fe083c91d556f99f367dbf2e64e8db5cd46aa262 DIST pulseaudio-qt-1.3.tar.xz 34148 BLAKE2B f283c369fcbeaf57537fe28d6f8aa02c34d7567ab8260ec8ba05edf8320b65e29e6ac88489ff0b49ae57b0bc8b8a49da83886f50ed9641850c84939a979e930c SHA512 2326277fd37327db29a5984056949fcf935c36e7b39184d1307a5d0a891efed4f0e4f32e783f3f7da2c7e6b7409eb908b2521064c6d24a28561ed38db9f8d4e8 EBUILD pulseaudio-qt-1.3-r2.ebuild 705 BLAKE2B 21ca48a8e6e657d32c76aec1f95599ab309e76f14a7677aa166549dc62153bc72cc06b25d61ee01002d4ca8be05aa3e88cd4b96c5c28673f83ec758547ff29fa SHA512 9a760b6734c677f5f846f967780339215b4007ac2fc6d18460e36dfb1f3ee01b7bda35069316f946632e7f25ae5da5fa2aefcd9f559a1cfc39aa6ef1b699f1ce +EBUILD pulseaudio-qt-1.3-r3.ebuild 794 BLAKE2B e6021e2c685c7bd39311a39509aed29f00ad97d6eccb8422f25edc8db414e72335fc0dc5211fc5bd8b9eb08124193ef36e5541676cafdc39aa546e081f647525 SHA512 0982fa7cf1f3631a913095cbd7602c5d68883fd4b845b452d23f85a2332fa211ea52a6e2a35170a1c6abe601bfbfd74e56c3a6c97ff5fa80c190fa62dba7ac05 MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6 diff --git a/media-libs/pulseaudio-qt/files/pulseaudio-qt-1.3-no-crash-if-no-server-response.patch b/media-libs/pulseaudio-qt/files/pulseaudio-qt-1.3-no-crash-if-no-server-response.patch new file mode 100644 index 000000000000..459319aa49b8 --- /dev/null +++ b/media-libs/pulseaudio-qt/files/pulseaudio-qt-1.3-no-crash-if-no-server-response.patch @@ -0,0 +1,44 @@ +From f6b02f21a9131bafc4965ebb64acf01a4505ce04 Mon Sep 17 00:00:00 2001 +From: Harald Sitter <sitter@kde.org> +Date: Mon, 10 Oct 2022 16:06:20 +0200 +Subject: [PATCH] don't crash when the server doesn't respond + +inside libpulse a non-reply (e.g. caused by a timeout) results in info +being a nullptr. when that happens simply skip over the callback. when +this happens chances are the server crashed or is otherwise defunct so +we won't be able to do much about this anyway + +easy to test by attaching to both plasmashell and pulseaudio and +interrupting the latter when the former calls +pa_context_get_server_info. this results in the reply timeout getting +hit -> nullptr callback. + +it is unclear if we can somehow recover from this but in lieu of a +reliable real world test case for this we at least shouldn't crash on +nullptr access. + +BUG: 454647 +--- + src/context.cpp | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/context.cpp b/src/context.cpp +index 604364f..c5a0f10 100644 +--- a/src/context.cpp ++++ b/src/context.cpp +@@ -161,6 +161,12 @@ static void server_cb(pa_context *context, const pa_server_info *info, void *dat + { + Q_ASSERT(context); + Q_ASSERT(data); ++ if (!info) { ++ // info may be nullptr when e.g. the server doesn't reply in time (e.g. it is stuck) ++ // https://bugs.kde.org/show_bug.cgi?id=454647 ++ qCWarning(PULSEAUDIOQT) << "server_cb() called without info!"; ++ return; ++ } + static_cast<ContextPrivate *>(data)->serverCallback(info); + } + +-- +GitLab + diff --git a/media-libs/pulseaudio-qt/pulseaudio-qt-1.3-r3.ebuild b/media-libs/pulseaudio-qt/pulseaudio-qt-1.3-r3.ebuild new file mode 100644 index 000000000000..07b4aa658b02 --- /dev/null +++ b/media-libs/pulseaudio-qt/pulseaudio-qt-1.3-r3.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_HANDBOOK="forceoptional" +ECM_QTHELP="true" +ECM_TEST="optional" +QTMIN=5.15.2 +inherit ecm kde.org + +DESCRIPTION="Qt bindings for libpulse" +HOMEPAGE="https://invent.kde.org/libraries/pulseaudio-qt" + +if [[ ${KDE_BUILD_TYPE} = release ]]; then + SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +fi + +LICENSE="LGPL-2.1" +SLOT="0/3" + +RDEPEND=" + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5 + media-libs/libpulse +" +DEPEND="${RDEPEND} + test? ( + >=dev-qt/qtdeclarative-${QTMIN}:5 + >=dev-qt/qtquickcontrols2-${QTMIN}:5 + ) +" +BDEPEND="virtual/pkgconfig" + +PATCHES=( "${FILESDIR}/${P}-no-crash-if-no-server-response.patch" ) # KDE-bug 454647 |