From 0ace403059d790855cbd05f3d23cedb0f2dffbd7 Mon Sep 17 00:00:00 2001
From: Daniel T Chen <seven.steps@gmail.com>
Date: Fri, 3 Apr 2009 17:26:19 -0400
Subject: [PATCH] Fix sigfpe with invalid number of channels

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>
---
 src/SampleWindow.cc |    7 +++++--
 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) {
 
-- 
1.6.0.4

