diff options
Diffstat (limited to 'src/SinkWindow.cc')
-rw-r--r-- | src/SinkWindow.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/SinkWindow.cc b/src/SinkWindow.cc index e551f53..bcf1681 100644 --- a/src/SinkWindow.cc +++ b/src/SinkWindow.cc @@ -21,7 +21,8 @@ SinkWindow::SinkWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade: volumeResetButton(NULL), volumeMuteButton(NULL), volumeMeterButton(NULL), - volumeScale(NULL) { + volumeScale(NULL), + scaleEnabled(true) { refGlade->get_widget("nameLabel", nameLabel); refGlade->get_widget("descriptionLabel", descriptionLabel); @@ -76,7 +77,9 @@ void SinkWindow::updateInfo(const SinkInfo &i) { percent = pa_volume_to_user(i.volume) * 100; db = pa_volume_to_dB(i.volume); + scaleEnabled = false; volumeScale->set_value(percent); + scaleEnabled = true; if (db != PA_DECIBEL_MININFTY) snprintf(t, sizeof(t), "%0.0f%% (%0.2fdB)", percent, db); else @@ -107,7 +110,8 @@ void SinkWindow::onToOwnerModuleButton() { } void SinkWindow::onVolumeScaleValueChanged() { - serverInfoManager->setSinkVolume(index, pa_volume_from_user(volumeScale->get_value()/100)); + if (scaleEnabled) + serverInfoManager->setSinkVolume(index, pa_volume_from_user(volumeScale->get_value()/100)); } void SinkWindow::onVolumeResetButton() { |