summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Seeger <jan.seeger@thenybble.de>2020-08-05 15:44:04 +0200
committerDaniel Pielmeier <billie@gentoo.org>2020-08-06 17:10:02 +0200
commit8ed09d7c40c3ac74314039fc9fd90b4805b140cd (patch)
tree57275e1b84a1e009f99acaea470355279bc216c3 /app-admin/conky/files
parentkde-apps/kmail-account-wizard: Drop 20.04.3 (r0) (diff)
downloadgentoo-8ed09d7c40c3ac74314039fc9fd90b4805b140cd.tar.gz
gentoo-8ed09d7c40c3ac74314039fc9fd90b4805b140cd.tar.bz2
gentoo-8ed09d7c40c3ac74314039fc9fd90b4805b140cd.zip
app/admin-conky-1.10.8-r10: Patched crash on virtual Pulseaudio sinks
Using upstream commits https://github.com/brndnmtthws/conky/commit/2a7226d89331f7d5d0abf0b9aff6d75435dd3a2d and https://github.com/brndnmtthws/conky/commit/ddf8a0f58f3110e31ec4c44ecff838d2b231f6f3. Added missing braces for multi-line macro, added version bumped ebuild. Signed-off-by: Jan Seeger <jan.seeger@thenybble.de> Signed-off-by: Daniel Pielmeier <billie@gentoo.org>
Diffstat (limited to 'app-admin/conky/files')
-rw-r--r--app-admin/conky/files/conky-1.10.8-virtual-sinks.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/app-admin/conky/files/conky-1.10.8-virtual-sinks.patch b/app-admin/conky/files/conky-1.10.8-virtual-sinks.patch
new file mode 100644
index 000000000000..c0198ccc4ecf
--- /dev/null
+++ b/app-admin/conky/files/conky-1.10.8-virtual-sinks.patch
@@ -0,0 +1,49 @@
+From 8221ba62045012abf8a4443de20f17a0a8fc1288 Mon Sep 17 00:00:00 2001
+From: Jan Seeger <jan.seeger@thenybble.de>
+Date: Wed, 5 Aug 2020 15:39:20 +0200
+Subject: Fixed crash on virtual sinks.
+
+Taken from upstream commits
+https://github.com/brndnmtthws/conky/commit/ddf8a0f58f3110e31ec4c44ecff838d2b231f6f3 and
+https://github.com/brndnmtthws/conky/commit/2a7226d89331f7d5d0abf0b9aff6d75435dd3a2d.
+
+Signed-off-by: Jan Seeger <jan.seeger@thenybble.de>
+---
+ src/pulseaudio.cc | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/src/pulseaudio.cc b/src/pulseaudio.cc
+index 93226c1b..af814bd6 100644
+--- a/src/pulseaudio.cc
++++ b/src/pulseaudio.cc
+@@ -53,8 +53,13 @@ void pa_sink_info_callback(pa_context *c, const pa_sink_info *i, int eol, void *
+ pdr->sink_mute = i->mute;
+ pdr->sink_card = i->card;
+ pdr->sink_index = i->index;
+- pdr->sink_active_port_name.assign(i->active_port->name);
+- pdr->sink_active_port_description.assign(i->active_port->description);
++ if (i->active_port != nullptr) {
++ pdr->sink_active_port_name.assign(i->active_port->name);
++ pdr->sink_active_port_description.assign(i->active_port->description);
++ } else {
++ pdr->sink_active_port_name.erase();
++ pdr->sink_active_port_name.erase();
++ }
+ pdr->sink_volume = round_to_int(100.0f * (float)pa_cvolume_avg(&(i->volume)) / (float)PA_VOLUME_NORM);
+ pa_threaded_mainloop_signal(pulseaudio->mainloop, 0);
+ }
+@@ -224,9 +229,10 @@ void init_pulseaudio(struct text_object *obj) {
+ return;
+ }
+
+- if(pulseaudio->result.sink_card!=(uint32_t)-1)
++ if(pulseaudio->result.sink_card!=(uint32_t)-1) {
+ PULSEAUDIO_WAIT(pa_context_get_card_info_by_index(pulseaudio->context, pulseaudio->result.sink_card,
+ pa_card_info_callback, &pulseaudio->result));
++ }
+
+ // get notification when something changes in PA
+ pa_context_set_subscribe_callback(pulseaudio->context, subscribe_cb, &pulseaudio->result);
+--
+2.26.2
+