drosca added a comment.
> why does that make it broke? From QML side, we call: stream.setVolume(0); stream.setMuted(true); and on the C++ side it turns to // Lets say the current state of C++ object is: muted = false, vol = 20 setVolume(0) -> writeChanges(vol = 0, ..., muted = false, ...); setMuted(true) -> writeChanges(vol = 20, ..., muted = true); The problem is that on the C++ side, we only hold values received from pulseaudio, not intermediate values set from the QML side. REPOSITORY R115 Plasma Audio Volume Applet REVISION DETAIL https://phabricator.kde.org/D4674 EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: drosca, #plasma Cc: davidedmundson, plasma-devel, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol