From 16a72ae6f4c18c621e16e259bc9122cdaf39eb6b Mon Sep 17 00:00:00 2001 From: Lars Uebernickel Date: Thu, 16 Oct 2014 15:07:51 +0200 Subject: service.vala: don't call set_volume unnecessarily The allow-amplified-volume setting is bound to a property on the service with the same name. GSettings always sets the target property when the binding is created. The property setter calls set_volume() unconditionally, which lead to a call on every startup of indicator-sound. That wasn't a problem until set_volume() started emitting a notification for volume changes... Fix this by only updating the property when the underlying value has actually changed. --- src/service.vala | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/service.vala b/src/service.vala index bd44b0d..0a5725a 100644 --- a/src/service.vala +++ b/src/service.vala @@ -139,6 +139,9 @@ public class IndicatorSound.Service: Object { } set { + if (this.allow_amplified_volume == value) + return; + if (value) { /* from pulse/volume.h: #define PA_VOLUME_UI_MAX (pa_sw_volume_from_dB(+11.0)) */ this.max_volume = (double)PulseAudio.Volume.sw_from_dB(11.0) / PulseAudio.Volume.NORM; -- cgit v1.2.3