Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE
plasma5-pa.10523
0004-StreamRestore-Don-t-write-unnecessary-chan...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0004-StreamRestore-Don-t-write-unnecessary-changes.patch of Package plasma5-pa.10523
From 663a591fd47f27d912216073fd6ccb6ac9949e59 Mon Sep 17 00:00:00 2001 From: David Rosca <nowrep@gmail.com> Date: Sat, 29 Apr 2017 18:39:47 +0200 Subject: [PATCH 4/4] StreamRestore: Don't write unnecessary changes Applet updates mute state with every volume change - it does writeChanges(volume) immediately following with writeChanges(mute) and it seems to make PulseAudio to ignore the volume change. This makes sure that writeChanges() is only called when something really changed. BUG: 367688 FIXED-IN: 5.10.0 Differential Revision: https://phabricator.kde.org/D5657 --- src/streamrestore.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/streamrestore.cpp b/src/streamrestore.cpp index f04b75a..f1aa325 100644 --- a/src/streamrestore.cpp +++ b/src/streamrestore.cpp @@ -82,9 +82,13 @@ QString StreamRestore::device() const void StreamRestore::setDevice(const QString &device) { if (m_cache.valid) { - writeChanges(m_cache.volume, m_cache.channelMap, m_cache.muted, device); + if (m_cache.device != device) { + writeChanges(m_cache.volume, m_cache.channelMap, m_cache.muted, device); + } } else { - writeChanges(m_volume, m_channelMap, m_muted, device); + if (m_device != device) { + writeChanges(m_volume, m_channelMap, m_muted, device); + } } } @@ -115,9 +119,13 @@ bool StreamRestore::isMuted() const void StreamRestore::setMuted(bool muted) { if (m_cache.valid) { - writeChanges(m_cache.volume, m_cache.channelMap, muted, m_cache.device); + if (m_cache.muted != muted) { + writeChanges(m_cache.volume, m_cache.channelMap, muted, m_cache.device); + } } else { - writeChanges(m_volume, m_channelMap, muted, m_device); + if (m_muted != muted) { + writeChanges(m_volume, m_channelMap, muted, m_device); + } } } -- 2.12.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor