summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWulf Krueger <philantrop@gentoo.org>2007-11-20 13:46:03 +0000
committerWulf Krueger <philantrop@gentoo.org>2007-11-20 13:46:03 +0000
commitba8cad936fd6aca6d8c5c7c6d3be0df57ed747e5 (patch)
tree855cabd3319c971ad2fa2c4275a0058bf49fa19d /kde-base/kdeutils/files
parentamd64 stable wrt #199740 (diff)
downloadgentoo-2-ba8cad936fd6aca6d8c5c7c6d3be0df57ed747e5.tar.gz
gentoo-2-ba8cad936fd6aca6d8c5c7c6d3be0df57ed747e5.tar.bz2
gentoo-2-ba8cad936fd6aca6d8c5c7c6d3be0df57ed747e5.zip
Added a patch to fix a problem with the XF86Audio* key handlers not working when there's no master channel (e. g. you have a mute key that stopped working in KDE). Fixes bug 198015. Thanks to Kelvie Wong for creating and submitting said patch.
(Portage version: 2.1.3.19)
Diffstat (limited to 'kde-base/kdeutils/files')
-rw-r--r--kde-base/kdeutils/files/digest-kdeutils-3.5.8-r16
-rw-r--r--kde-base/kdeutils/files/kmilo-3.5.8-198015_XF86Audio.patch84
2 files changed, 90 insertions, 0 deletions
diff --git a/kde-base/kdeutils/files/digest-kdeutils-3.5.8-r1 b/kde-base/kdeutils/files/digest-kdeutils-3.5.8-r1
new file mode 100644
index 000000000000..d5ce5a414504
--- /dev/null
+++ b/kde-base/kdeutils/files/digest-kdeutils-3.5.8-r1
@@ -0,0 +1,6 @@
+MD5 4a5500af2f0170c9f74501093d5393ad kdeutils-3.5-patchset-02.tar.bz2 3019
+RMD160 b4598488995ed7dc7a86349cd68da426e2238773 kdeutils-3.5-patchset-02.tar.bz2 3019
+SHA256 54ddfbec990e3bff3139abf42755be24a450a8969eb77d41a5b0da4dc72580d6 kdeutils-3.5-patchset-02.tar.bz2 3019
+MD5 d1a0fcc83f35428a76cf7523a04ba19c kdeutils-3.5.8.tar.bz2 3059172
+RMD160 94267b9c08339c7310d65106110c9b9ef133d6f8 kdeutils-3.5.8.tar.bz2 3059172
+SHA256 7dcbe3361cc53f9dac4c1bf6f45952d3d2518bec56cd8c07b8e07b4c4f12d0ac kdeutils-3.5.8.tar.bz2 3059172
diff --git a/kde-base/kdeutils/files/kmilo-3.5.8-198015_XF86Audio.patch b/kde-base/kdeutils/files/kmilo-3.5.8-198015_XF86Audio.patch
new file mode 100644
index 000000000000..22d16983f88f
--- /dev/null
+++ b/kde-base/kdeutils/files/kmilo-3.5.8-198015_XF86Audio.patch
@@ -0,0 +1,84 @@
+From 5ddf8e7f68098ebb86d0023653e540edf119291d Mon Sep 17 00:00:00 2001
+From: Kelvie Wong <kelvie@ieee.org>
+Date: Sat, 3 Nov 2007 21:42:27 -0700
+Subject: [PATCH] KMilo: reintroduced support for kmix's user-set master channel
+ * uses the new masterDeviceIndex dcop call in KMix (from other patch)
+
+---
+ kmilo/generic/generic_monitor.cpp | 18 +++++++++++++-----
+ kmilo/generic/generic_monitor.h | 1 +
+ 2 files changed, 14 insertions(+), 5 deletions(-)
+
+diff --git a/kmilo/generic/generic_monitor.cpp b/kmilo/generic/generic_monitor.cpp
+index 51b96b1..fd7a47f 100644
+--- a/kmilo/generic/generic_monitor.cpp
++++ b/kmilo/generic/generic_monitor.cpp
+@@ -50,6 +50,7 @@ GenericMonitor::GenericMonitor(QObject *parent, const char *name, const QStringL
+ m_minVolume = 0;
+ m_maxVolume = 100;
+ m_volume = 50;
++ m_deviceIdx = 0;
+ }
+
+ GenericMonitor::~GenericMonitor()
+@@ -92,7 +93,14 @@ bool GenericMonitor::retrieveVolume()
+ {
+ bool kmix_error = false;
+
+- DCOPReply reply = kmixClient->call("absoluteVolume", 0);
++ // Set it to the master, or 0 (from GenericMonitor()) if this dcop
++ // call doesn't exist or various other errors. It used to be
++ // hard-coded to 0 anyways.
++ DCOPReply reply = kmixClient->call("masterDeviceIndex");
++ if (reply.isValid())
++ m_deviceIdx = reply;
++
++ reply = kmixClient->call("absoluteVolume", m_deviceIdx);
+ if (reply.isValid())
+ m_volume = reply;
+ else
+@@ -104,7 +112,7 @@ bool GenericMonitor::retrieveVolume()
+ if (kapp->startServiceByDesktopName("kmix")==0) // trying to start kmix
+ {
+ // trying again
+- reply = kmixClient->call("absoluteVolume", 0);
++ reply = kmixClient->call("absoluteVolume", m_deviceIdx);
+ if (reply.isValid())
+ {
+ m_volume = reply;
+@@ -122,9 +130,9 @@ bool GenericMonitor::retrieveVolume()
+
+ return false;
+ } else {
+- reply = kmixClient->call("absoluteVolumeMax", 0);
++ reply = kmixClient->call("absoluteVolumeMax", m_deviceIdx);
+ m_maxVolume = reply;
+- reply = kmixClient->call("absoluteVolumeMin", 0);
++ reply = kmixClient->call("absoluteVolumeMin", m_deviceIdx);
+ m_minVolume = reply;
+ return true;
+ }
+@@ -165,7 +173,7 @@ void GenericMonitor::displayVolume()
+
+ // If we got this far, the DCOP communication with kmix works,
+ // so we don't have to test the result.
+- kmixClient->send("setAbsoluteVolume", 0, m_volume);
++ kmixClient->send("setAbsoluteVolume", m_deviceIdx, m_volume);
+
+ // if mute then unmute
+ if (m_mute)
+diff --git a/kmilo/generic/generic_monitor.h b/kmilo/generic/generic_monitor.h
+index 7a0ba51..d04274f 100644
+--- a/kmilo/generic/generic_monitor.h
++++ b/kmilo/generic/generic_monitor.h
+@@ -74,6 +74,7 @@ private:
+
+ DCOPRef *kmixClient, *kmixWindow;
+
++ int m_deviceIdx;
+ int m_progress;
+ long m_volume, m_oldVolume;
+ bool m_mute;
+--
+1.5.3.4
+