From 40f03e5367a646d7407a9ae5ab8750689ebbb0687838ca19c8ec178cbf02ee29 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Fri, 21 Jan 2022 09:10:41 +0000 Subject: [PATCH] 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 --- ...amixer-Fix-regression-in-color-setup.patch | 105 ++++++++++++++++++ alsa-utils.changes | 6 + alsa-utils.spec | 4 +- 3 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 0001-alsamixer-Fix-regression-in-color-setup.patch diff --git a/0001-alsamixer-Fix-regression-in-color-setup.patch b/0001-alsamixer-Fix-regression-in-color-setup.patch new file mode 100644 index 0000000..e7714e4 --- /dev/null +++ b/0001-alsamixer-Fix-regression-in-color-setup.patch @@ -0,0 +1,105 @@ +From 40202a522aa86599bffaabf8097bf9bf1cef4f61 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +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 +--- + 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 + diff --git a/alsa-utils.changes b/alsa-utils.changes index 65d8cd6..908f980 100644 --- a/alsa-utils.changes +++ b/alsa-utils.changes @@ -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 diff --git a/alsa-utils.spec b/alsa-utils.spec index 5468a76..8b839ef 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -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