summaryrefslogtreecommitdiff
path: root/extra/gnome-control-center/pulse3.0.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/gnome-control-center/pulse3.0.patch')
-rw-r--r--extra/gnome-control-center/pulse3.0.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/extra/gnome-control-center/pulse3.0.patch b/extra/gnome-control-center/pulse3.0.patch
new file mode 100644
index 000000000..203547940
--- /dev/null
+++ b/extra/gnome-control-center/pulse3.0.patch
@@ -0,0 +1,25 @@
+From 10a0c18b8e3058144586880019b68ab4ea40ce78 Mon Sep 17 00:00:00 2001
+From: David Henningsson <david.henningsson@canonical.com>
+Date: Fri, 07 Dec 2012 10:52:09 +0000
+Subject: sound: Fix port handling for the unknown availability case
+
+The current code assumes that port availability transitions will be
+between YES and NO, and doesn't account for the fact that it may also be
+UNKNOWN. This causes spurious entries if the port availability
+transitions between YES and UNKNOWN.
+---
+diff --git a/panels/sound/gvc-mixer-control.c b/panels/sound/gvc-mixer-control.c
+index 34ddc0c..2f6cf34 100644
+--- a/panels/sound/gvc-mixer-control.c
++++ b/panels/sound/gvc-mixer-control.c
+@@ -2138,7 +2138,7 @@ update_card (GvcMixerControl *control,
+ else {
+ for (i = 0; i < info->n_ports; i++) {
+ if (g_strcmp0 (card_port->port, info->ports[i]->name) == 0) {
+- if (card_port->available != info->ports[i]->available) {
++ if ((card_port->available == PA_PORT_AVAILABLE_NO) != (info->ports[i]->available == PA_PORT_AVAILABLE_NO)) {
+ card_port->available = info->ports[i]->available;
+ g_debug ("sync port availability on card %i, card port name '%s', new available value %i",
+ gvc_mixer_card_get_index (card),
+--
+cgit v0.9.0.2