Accepting request 947884 from home:tiwai:branches:multimedia:libs

- Fix alsamixer color config regression:
  0001-alsamixer-Fix-regression-in-color-setup.patch

OBS-URL: https://build.opensuse.org/request/show/947884
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa-utils?expand=0&rev=199
This commit is contained in:
Takashi Iwai 2022-01-21 09:10:41 +00:00 committed by Git OBS Bridge
parent 1197f9ef02
commit 40f03e5367
3 changed files with 114 additions and 1 deletions

View File

@ -0,0 +1,105 @@
From 40202a522aa86599bffaabf8097bf9bf1cef4f61 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Thu, 20 Jan 2022 08:49:17 +0100
Subject: [PATCH] alsamixer: Fix regression in color setup
The recent change to add the background config broke the color setup
via the config file due. Fix the regression by restoring the
initialization order back again, and changing the logic for the
default background color to be re-initializing color pairs instead.
Link: https://github.com/alsa-project/alsa-utils/issues/137
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
alsamixer/cli.c | 8 ++++----
alsamixer/colors.c | 13 ++++++++++++-
alsamixer/colors.h | 2 +-
alsamixer/configparser.c | 2 +-
4 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/alsamixer/cli.c b/alsamixer/cli.c
index 63c4949bab96..f153f280cd9f 100644
--- a/alsamixer/cli.c
+++ b/alsamixer/cli.c
@@ -152,15 +152,15 @@ int main(int argc, char *argv[])
parse_options(argc, argv);
+ create_mixer_object(&selem_regopt);
+
+ initialize_curses(use_color, use_mouse);
+
if (config_file == CONFIG_DEFAULT)
parse_default_config_file();
else if (config_file)
parse_config_file(config_file);
- create_mixer_object(&selem_regopt);
-
- initialize_curses(use_color, use_mouse);
-
create_mixer_widget();
mainloop();
diff --git a/alsamixer/colors.c b/alsamixer/colors.c
index f76dc26ef380..cca5233e82cd 100644
--- a/alsamixer/colors.c
+++ b/alsamixer/colors.c
@@ -23,7 +23,7 @@
#include "colors.h"
struct attributes attrs;
-short background_color = -1;
+static short background_color = -1;
int get_color_pair(short fg, short bg)
{
@@ -45,6 +45,17 @@ int get_color_pair(short fg, short bg)
return 0;
}
+void reinit_colors(short bg)
+{
+ if (bg == background_color)
+ return;
+ init_pair(1, COLOR_CYAN, bg);
+ init_pair(2, COLOR_YELLOW, bg);
+ init_pair(4, COLOR_RED, bg);
+ init_pair(5, COLOR_WHITE, bg);
+ background_color = bg;
+}
+
void init_colors(int use_color)
{
if (!!has_colors() == !!use_color) {
diff --git a/alsamixer/colors.h b/alsamixer/colors.h
index 1c7bff8e7d32..ac404e9ccc16 100644
--- a/alsamixer/colors.h
+++ b/alsamixer/colors.h
@@ -34,9 +34,9 @@ struct attributes {
};
extern struct attributes attrs;
-extern short background_color;
void init_colors(int use_color);
+void reinit_colors(short bg);
int get_color_pair(short fg, short bg);
#endif
diff --git a/alsamixer/configparser.c b/alsamixer/configparser.c
index 4396d4ff302e..b2b55f4754bc 100644
--- a/alsamixer/configparser.c
+++ b/alsamixer/configparser.c
@@ -451,7 +451,7 @@ static int cfg_set(char **argv, unsigned int argc)
error_cause = argv[1];
return ERROR_CONFIG;
}
- background_color = bg_color;
+ reinit_colors(bg_color);
}
else {
error_message = _("unknown option");
--
2.31.1

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Fri Jan 21 09:43:59 CET 2022 - tiwai@suse.de
- Fix alsamixer color config regression:
0001-alsamixer-Fix-regression-in-color-setup.patch
-------------------------------------------------------------------
Mon Dec 6 15:09:27 CET 2021 - tiwai@suse.de

View File

@ -1,7 +1,7 @@
#
# spec file for package alsa-utils
#
# Copyright (c) 2021 SUSE LLC
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -30,6 +30,7 @@ Source1: https://www.alsa-project.org/files/pub/utils/alsa-utils-%{versio
Source2: 01beep.conf
Source3: sound-extra.service
Source5: load-sound-modules.sh
Patch1: 0001-alsamixer-Fix-regression-in-color-setup.patch
Patch100: alsa-info-no-update-for-distro-script.patch
Patch101: alsa-utils-configure-version-revert.patch
BuildRequires: alsa-devel
@ -73,6 +74,7 @@ and test audio before and after PM state changes.
%prep
%setup -q
%patch1 -p1
%patch100 -p1
%if 0%{?do_autoreconf}
%patch101 -p1