aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorConor Curran <conor.curran@canonical.com>2010-02-18 14:30:43 +0000
committerConor Curran <conor.curran@canonical.com>2010-02-18 14:30:43 +0000
commit7de60c339a2e7e9a85618081e06d6eff66810377 (patch)
tree32f8eebb1333d3b0711eb099d8ee8a6a80b6121d /src
parent8d52a2dd20c24ae99720fc81d81091b2212b0703 (diff)
downloadayatana-indicator-sound-7de60c339a2e7e9a85618081e06d6eff66810377.tar.gz
ayatana-indicator-sound-7de60c339a2e7e9a85618081e06d6eff66810377.tar.bz2
ayatana-indicator-sound-7de60c339a2e7e9a85618081e06d6eff66810377.zip
Dont listen to key events once the state is muted
Diffstat (limited to 'src')
-rw-r--r--src/indicator-sound.c3
-rw-r--r--src/pulse-manager.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/indicator-sound.c b/src/indicator-sound.c
index 9c73df4..8e79db6 100644
--- a/src/indicator-sound.c
+++ b/src/indicator-sound.c
@@ -326,6 +326,7 @@ static void update_state(const gint state)
static void determine_state_from_volume(gdouble volume_percent)
{
/* g_debug("determine_state_from_volume - previous_state = %i", previous_state);*/
+
gint state = previous_state;
if (volume_percent < 30.0 && volume_percent > 0){
state = STATE_LOW;
@@ -431,6 +432,8 @@ key_press_cb:
**/
static gboolean key_press_cb(GtkWidget* widget, GdkEventKey* event, gpointer data)
{
+ if (current_state == STATE_MUTED)
+ return FALSE;
GtkWidget* slider = ido_scale_menu_item_get_scale((IdoScaleMenuItem*)volume_slider);
GtkRange* range = (GtkRange*)slider;
diff --git a/src/pulse-manager.c b/src/pulse-manager.c
index 52f9cba..9b9d7cd 100644
--- a/src/pulse-manager.c
+++ b/src/pulse-manager.c
@@ -342,7 +342,7 @@ static void update_sink_info(pa_context *c, const pa_sink_info *info, int eol, v
if(DEFAULT_SINK_INDEX == s->index)
{
//update the UI
- if (volume_changed == TRUE)
+ if (volume_changed == TRUE && s->mute == FALSE)
{
pa_volume_t vol = pa_cvolume_avg(&s->volume);
gdouble volume_percent = ((gdouble) vol * 100) / PA_VOLUME_NORM;