[pulseaudio-commits] 3 commits - shell-completion/zsh src/modules

Tanu Kaskinen tanuk at kemper.freedesktop.org
Fri Nov 14 04:27:40 PST 2014


 shell-completion/zsh/_pulseaudio |    4 +++-
 src/modules/dbus/iface-device.c  |   11 ++++++++++-
 2 files changed, 13 insertions(+), 2 deletions(-)

New commits:
commit e9513b40dbe8d155c005f41d661309ca8f350b46
Author: Tanu Kaskinen <tanu.kaskinen at linux.intel.com>
Date:   Sun Nov 2 20:50:37 2014 +0200

    dbus: Fix the ActivePort property handler
    
    The old code tried to look up the port object by using an object path,
    but the ports hashmap uses port names as keys, so the method failed
    always.
    
    BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=85369

diff --git a/src/modules/dbus/iface-device.c b/src/modules/dbus/iface-device.c
index 625f057..d469483 100644
--- a/src/modules/dbus/iface-device.c
+++ b/src/modules/dbus/iface-device.c
@@ -725,6 +725,8 @@ static void handle_get_active_port(DBusConnection *conn, DBusMessage *msg, void
 static void handle_set_active_port(DBusConnection *conn, DBusMessage *msg, DBusMessageIter *iter, void *userdata) {
     pa_dbusiface_device *d = userdata;
     const char *new_active_path;
+    pa_dbusiface_device_port *port;
+    void *state;
     pa_dbusiface_device_port *new_active;
     int r;
 
@@ -747,7 +749,14 @@ static void handle_set_active_port(DBusConnection *conn, DBusMessage *msg, DBusM
 
     dbus_message_iter_get_basic(iter, &new_active_path);
 
-    if (!(new_active = pa_hashmap_get(d->ports, new_active_path))) {
+    PA_HASHMAP_FOREACH(port, d->ports, state) {
+        if (pa_streq(pa_dbusiface_device_port_get_path(port), new_active_path)) {
+            new_active = port;
+            break;
+        }
+    }
+
+    if (!new_active) {
         pa_dbus_send_error(conn, msg, PA_DBUS_ERROR_NOT_FOUND, "No such port: %s", new_active_path);
         return;
     }

commit 7d9e792d164a0c5af059a2c797ad8e4bfaa349e9
Author: Tanu Kaskinen <tanu.kaskinen at linux.intel.com>
Date:   Sat Nov 1 18:28:43 2014 +0200

    shell-completion: zsh: Fix the set-card-profile description

diff --git a/shell-completion/zsh/_pulseaudio b/shell-completion/zsh/_pulseaudio
index c76d958..c7d68f5 100644
--- a/shell-completion/zsh/_pulseaudio
+++ b/shell-completion/zsh/_pulseaudio
@@ -248,7 +248,7 @@ _pactl_completion() {
             'move-source-output: move a recording stream to a source'
             'suspend-sink: suspend or resume a sink'
             'suspend-source: suspend or resume a source'
-            'set-card-profile: set a card profile:cards:_cards'
+            'set-card-profile: set a card profile'
             'set-default-sink: set the default sink'
             'set-default-source: set the default source'
             'set-sink-port: set the sink port of a sink'

commit f48c16113a4428f33f4a2c1f6801fce634885b93
Author: Tanu Kaskinen <tanu.kaskinen at linux.intel.com>
Date:   Sat Nov 1 18:28:33 2014 +0200

    shell-completion: zsh: Fix set-default-sink/source completion
    
    The _devices() function didn't recognize the set-default-* commands,
    and as a result it didn't generate any completions.

diff --git a/shell-completion/zsh/_pulseaudio b/shell-completion/zsh/_pulseaudio
index b8dd593..c76d958 100644
--- a/shell-completion/zsh/_pulseaudio
+++ b/shell-completion/zsh/_pulseaudio
@@ -19,6 +19,8 @@ _devices() {
         case $words[$((CURRENT - 1))] in
             set-sink-input-*) cmd=('sink-inputs');;
             set-sink-*) cmd=('sinks');;
+            set-default-sink) cmd=('sinks');;
+            set-default-source) cmd=('sources');;
             set-source-output-*) cmd=('source-outputs');;
             set-source-*) cmd=('sources');;
             suspend-sink) cmd=('sinks');;



More information about the pulseaudio-commits mailing list