aboutsummaryrefslogtreecommitdiff
path: root/src/indicator-sound.c
diff options
context:
space:
mode:
authorConor Curran <conor.curran@canonical.com>2010-02-10 12:45:23 +0000
committerConor Curran <conor.curran@canonical.com>2010-02-10 12:45:23 +0000
commitef8f7d725ef912219e1829d4c22db9abbc00df1a (patch)
tree7dbf8dd6a82beec89d49f8b147b076d97a84a878 /src/indicator-sound.c
parent4b22b241e13fbc1ca6e6d1bec21beda2941c3ced (diff)
downloadayatana-indicator-sound-ef8f7d725ef912219e1829d4c22db9abbc00df1a.tar.gz
ayatana-indicator-sound-ef8f7d725ef912219e1829d4c22db9abbc00df1a.tar.bz2
ayatana-indicator-sound-ef8f7d725ef912219e1829d4c22db9abbc00df1a.zip
tidy up plus unwanted feedback investigation
Diffstat (limited to 'src/indicator-sound.c')
-rw-r--r--src/indicator-sound.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/indicator-sound.c b/src/indicator-sound.c
index eed1e6f..49fa4ed 100644
--- a/src/indicator-sound.c
+++ b/src/indicator-sound.c
@@ -257,6 +257,12 @@ static void catch_signal_sink_volume_update(DBusGProxy *proxy, gdouble volume_pe
{
g_debug("signal caught - update sink volume with value : %f", volume_percent);
GtkWidget *slider = ido_scale_menu_item_get_scale((IdoScaleMenuItem*)volume_slider);
+ gboolean in_use = gtk_widget_has_grab(volume_slider);
+ if(in_use == TRUE)
+ {
+ g_debug("looks like the slider is the UI element in use therefore ignore this volume message => prevent circular semi feedback.");
+ return;
+ }
GtkRange *range = (GtkRange*)slider;
gtk_range_set_value(range, volume_percent);
determine_state_from_volume(volume_percent);