summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel T Chen <seven.steps@gmail.com>2009-04-03 17:26:19 -0400
committerLennart Poettering <lennart@poettering.net>2009-04-05 03:09:36 +0200
commitc12cf2bfa6497e742cc52f2d71cb8e2f2f52050d (patch)
tree3966ef22178e160bf132eeffb1d0a3581a29d028
parent7e9830821f35a5b8aa4fd792b64cc831c22f71d6 (diff)
Fix sigfpe with invalid number of channelsHEADmaster
From Ubuntu bug #352959 (https://launchpad.net/bugs/352959) Based on a patch by Yann Simon <yann.simon.fr@gmail.com> Signed-off-by: Daniel T Chen <seven.steps@gmail.com>
-rw-r--r--src/SampleWindow.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/SampleWindow.cc b/src/SampleWindow.cc
index 8de15ad..0465ce1 100644
--- a/src/SampleWindow.cc
+++ b/src/SampleWindow.cc
@@ -69,8 +69,11 @@ void SampleWindow::updateInfo(const SampleInfo &i) {
snprintf(t, sizeof(t), "#%u", i.index);
indexLabel->set_text(t);
- snprintf(t, sizeof(t), "%0.0f%%", (double) pa_sw_volume_to_linear(pa_cvolume_avg(&i.volume)) * 100);
- volumeLabel->set_text(t);
+ if (pa_cvolume_valid(&i.volume)) {
+ snprintf(t, sizeof(t), "%0.0f%%", (double) pa_sw_volume_to_linear(pa_cvolume_avg(&i.volume)) * 100);
+ volumeLabel->set_text(t);
+ } else
+ volumeLabel->set_markup("<i>n/a</i>");
if (i.bytes > 0) {