File 0001-alsamixer-fix-display-of-active-inactive-controls.patch of Package alsa-utils

From cd26f244e7f2648a63411741552c658ca67334e9 Mon Sep 17 00:00:00 2001
From: Raymond Yau <superquad.vortex2@gmail.com>
Date: Mon, 28 Feb 2011 15:36:36 +0100
Subject: [PATCH 01/16] alsamixer: fix display of active/inactive controls

Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
---
 alsamixer/mixer_widget.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/alsamixer/mixer_widget.c b/alsamixer/mixer_widget.c
index fb352d3..caaf777 100644
--- a/alsamixer/mixer_widget.c
+++ b/alsamixer/mixer_widget.c
@@ -59,10 +59,21 @@ enum channel_mask {
 
 static int elem_callback(snd_mixer_elem_t *elem, unsigned int mask)
 {
+	unsigned int i;
+
 	if (mask & (SND_CTL_EVENT_MASK_REMOVE |
 		    SND_CTL_EVENT_MASK_INFO |
 		    SND_CTL_EVENT_MASK_VALUE))
 		controls_changed = TRUE;
+
+	if (mask & SND_CTL_EVENT_MASK_INFO)
+		for (i = 0; i < controls_count; ++i)
+			if (controls[i].elem == elem) {
+				controls[i].flags &= ~IS_ACTIVE;
+				if (snd_mixer_selem_is_active(controls[i].elem))
+					controls[i].flags |= IS_ACTIVE;
+			}
+
 	return 0;
 }
 
-- 
1.7.5.3
openSUSE Build Service is sponsored by