SHA256
1
0
forked from pool/alsa-utils

- Backport upstream fix:

- fix a crash of alsamixer with pulse plugin

OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa-utils?expand=0&rev=42
This commit is contained in:
Takashi Iwai 2011-11-02 16:38:59 +00:00 committed by Git OBS Bridge
parent 9360abd88a
commit c0cd57af09
3 changed files with 96 additions and 0 deletions

View File

@ -0,0 +1,88 @@
From 4c09aaa5c13c2260fea57a89c47f88252da8a692 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Wed, 2 Nov 2011 17:27:47 +0100
Subject: [PATCH] alsamixer: Fix X-win related crash for PulseAudio plugin
(bad linking)
A lot of reports that alsamixer crashes in X terminal when the PulseAudio
CTL plugin is activated were entered to the tracking systems.
I figured that there is a linking clash for the shutdown() function.
The shutdown() function in glibc is socket related, but the alsamixer code
redefines this function and appearently that under some linking
circumstances - which PA client invokes during the runtime dynamic linking
- the wrong function is called.
This patch, for safety, renames the shutdown() function from alsamixer
to app_shutdown(), but it might make sense to figure the real linking
culprit to avoid future surprises.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
alsamixer/cli.c | 2 +-
alsamixer/die.c | 4 ++--
alsamixer/mainloop.c | 2 +-
alsamixer/mainloop.h | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/alsamixer/cli.c b/alsamixer/cli.c
index 3898196..bb4f030 100644
--- a/alsamixer/cli.c
+++ b/alsamixer/cli.c
@@ -130,6 +130,6 @@ int main(int argc, char *argv[])
mainloop();
- shutdown();
+ app_shutdown();
return 0;
}
diff --git a/alsamixer/die.c b/alsamixer/die.c
index dcd8536..899a501 100644
--- a/alsamixer/die.c
+++ b/alsamixer/die.c
@@ -26,14 +26,14 @@
void fatal_error(const char *msg)
{
- shutdown();
+ app_shutdown();
fprintf(stderr, "%s\n", msg);
exit(EXIT_FAILURE);
}
void fatal_alsa_error(const char *msg, int err)
{
- shutdown();
+ app_shutdown();
fprintf(stderr, _("%s: %s\n"), msg, snd_strerror(err));
exit(EXIT_FAILURE);
}
diff --git a/alsamixer/mainloop.c b/alsamixer/mainloop.c
index eddaf3b..dbfef9b 100644
--- a/alsamixer/mainloop.c
+++ b/alsamixer/mainloop.c
@@ -52,7 +52,7 @@ void initialize_curses(bool use_color)
snd_lib_error_set_handler(black_hole_error_handler);
}
-void shutdown(void)
+void app_shutdown(void)
{
if (curses_initialized) {
clear();
diff --git a/alsamixer/mainloop.h b/alsamixer/mainloop.h
index 0cfc989..22317be 100644
--- a/alsamixer/mainloop.h
+++ b/alsamixer/mainloop.h
@@ -5,6 +5,6 @@
void initialize_curses(bool use_color);
void mainloop(void);
-void shutdown(void);
+void app_shutdown(void);
#endif
--
1.7.7

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Wed Nov 2 17:38:32 CET 2011 - tiwai@suse.de
- Backport upstream fix:
- fix a crash of alsamixer with pulse plugin
-------------------------------------------------------------------
Tue Sep 20 09:47:45 CEST 2011 - tiwai@suse.de

View File

@ -55,6 +55,7 @@ Patch17: 0017-speaker-test.1-Clarify-man-page-by-giving-examples.patch
Patch18: 0018-alsa-utils-amixer-Fix-SND_CTL_TLVT_DB_RANGE-handling.patch
Patch19: 0019-aplay-increase-channel-limit-to-256.patch
Patch20: 0020-fix-use-of-SED.patch
Patch21: 0021-alsamixer-Fix-X-win-related-crash-for-PulseAudio-plu.patch
Patch99: alsa-utils-gettext-version-removal.diff
Url: http://www.alsa-project.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -88,6 +89,7 @@ sed -i -e's/EXTRA_DIST= config.rpath /EXTRA_DIST=/' Makefile.am
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%if %suse_version < 1020
%patch99 -p1
%endif