[SCM] kdeconnect packaging branch, master, updated. debian/0.9g-1-1183-g9d69498
Maximiliano Curia
maxy at moszumanska.debian.org
Fri Oct 14 14:27:34 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/kdeconnect.git;a=commitdiff;h=0b98ec3
The following commit has been merged in the master branch:
commit 0b98ec3cb03bf7652de6362d68cecc01c22998cc
Author: Albert Vaca <albertvaka at gmail.com>
Date: Thu Jun 5 20:48:11 2014 +0200
Fixed a crash when no mixers or controls were abailable in KMix
BUG: 332153
---
kded/plugins/pausemusic/pausemusicplugin.cpp | 14 ++++++++++----
kded/plugins/pausemusic/pausemusicplugin.h | 5 +++++
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/kded/plugins/pausemusic/pausemusicplugin.cpp b/kded/plugins/pausemusic/pausemusicplugin.cpp
index 3ca8e06..ae49e1e 100644
--- a/kded/plugins/pausemusic/pausemusicplugin.cpp
+++ b/kded/plugins/pausemusic/pausemusicplugin.cpp
@@ -35,15 +35,19 @@ K_PLUGIN_FACTORY( KdeConnectPluginFactory, registerPlugin< PauseMusicPlugin >();
K_EXPORT_PLUGIN( KdeConnectPluginFactory("kdeconnect_pausemusic", "kdeconnect-kded") )
//TODO: Port this away from KMix to use only Pulseaudio
-bool isKMixMuted() {
+int PauseMusicPlugin::isKMixMuted() {
QDBusInterface kmixInterface("org.kde.kmix", "/Mixers", "org.kde.KMix.MixSet");
QString mixer = kmixInterface.property("currentMasterMixer").toString();
QString control = kmixInterface.property("currentMasterControl").toString();
+
+ if (mixer.isEmpty() || control.isEmpty())
+ return -1;
+
mixer.replace(':','_');
control.replace(':','_');
QDBusInterface mixerInterface("org.kde.kmix", "/Mixers/"+mixer+"/"+control, "org.kde.KMix.Control");
- if (mixerInterface.property("mute").toBool()) return true;
+ if (mixerInterface.property("mute").toBool()) return 1;
return (mixerInterface.property("volume").toInt() == 0);
}
@@ -76,7 +80,7 @@ bool PauseMusicPlugin::receivePackage(const NetworkPackage& np)
if (pauseConditionFulfilled) {
if (use_mute) {
QDBusInterface kmixInterface("org.kde.kmix", "/kmix/KMixWindow/actions/mute", "org.qtproject.Qt.QAction");
- if (!isKMixMuted()) {
+ if (isKMixMuted() > 0) {
pausedSources.insert("mute"); //Fake source
kmixInterface.call("trigger");
}
@@ -100,7 +104,9 @@ bool PauseMusicPlugin::receivePackage(const NetworkPackage& np)
if (pausedSources.empty()) return false;
if (use_mute) {
QDBusInterface kmixInterface("org.kde.kmix", "/kmix/KMixWindow/actions/mute", "org.qtproject.Qt.QAction");
- if (isKMixMuted()) kmixInterface.call("trigger");
+ if (isKMixMuted() == 0) {
+ kmixInterface.call("trigger");
+ }
} else {
Q_FOREACH (const QString& iface, pausedSources) {
QDBusInterface mprisInterface(iface, "/org/mpris/MediaPlayer2", "org.mpris.MediaPlayer2.Player");
diff --git a/kded/plugins/pausemusic/pausemusicplugin.h b/kded/plugins/pausemusic/pausemusicplugin.h
index 2b5b32b..db95c25 100644
--- a/kded/plugins/pausemusic/pausemusicplugin.h
+++ b/kded/plugins/pausemusic/pausemusicplugin.h
@@ -38,6 +38,11 @@ public:
public Q_SLOTS:
virtual bool receivePackage(const NetworkPackage& np);
virtual void connected() { };
+
+ /**
+ * @returns 0 if not muted, 1 if muted or -1 if there was an error
+ */
+ int isKMixMuted();
private:
QSet<QString> pausedSources;
--
kdeconnect packaging
More information about the pkg-kde-commits
mailing list