diff --git a/applet/contents/ui/ListItemBase.qml b/applet/contents/ui/ListItemBase.qml --- a/applet/contents/ui/ListItemBase.qml +++ b/applet/contents/ui/ListItemBase.qml @@ -152,7 +152,7 @@ // as otherwise we can easily end up in a loop where value // changes trigger volume changes trigger value changes. property int volume: Volume - property bool ignoreValueChange: false + property bool ignoreValueChange: true Layout.fillWidth: true minimumValue: PulseAudio.MinimalVolume @@ -162,10 +162,15 @@ enabled: VolumeWritable opacity: Muted ? 0.5 : 1 + Component.onCompleted: { + ignoreValueChange = false; + } + onVolumeChanged: { + var oldIgnoreValueChange = ignoreValueChange; ignoreValueChange = true; value = Volume; - ignoreValueChange = false; + ignoreValueChange = oldIgnoreValueChange; } onValueChanged: { diff --git a/src/kcm/package/contents/ui/VolumeSlider.qml b/src/kcm/package/contents/ui/VolumeSlider.qml --- a/src/kcm/package/contents/ui/VolumeSlider.qml +++ b/src/kcm/package/contents/ui/VolumeSlider.qml @@ -35,19 +35,24 @@ // as otherwise we can easily end up in a loop where value // changes trigger volume changes trigger value changes. property int volume: Volume - property bool ignoreValueChange: false + property bool ignoreValueChange: true Layout.fillWidth: true minimumValue: PulseAudio.MinimalVolume maximumValue: PulseAudio.MaximalVolume visible: HasVolume enabled: VolumeWritable opacity: Muted ? 0.5 : 1 + Component.onCompleted: { + ignoreValueChange = false; + } + onVolumeChanged: { + var oldIgnoreValueChange = ignoreValueChange; ignoreValueChange = true; value = Volume; - ignoreValueChange = false; + ignoreValueChange = oldIgnoreValueChange; } onValueChanged: {