emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 4330eb28641: Fix volume refresh bug in mpc


From: Eli Zaretskii
Subject: master 4330eb28641: Fix volume refresh bug in mpc
Date: Sat, 10 Feb 2024 03:23:02 -0500 (EST)

branch: master
commit 4330eb2864181e49ace5736665c45d8683a5ce1d
Author: john muhl <jm@pub.pink>
Commit: Eli Zaretskii <eliz@gnu.org>

    Fix volume refresh bug in mpc
    
    * lisp/mpc.el (mpc-volume-refresh): Only refresh volume when mpd
    is playing.  When stopped or paused, volume is nil.  (Bug#68785)
---
 lisp/mpc.el | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/lisp/mpc.el b/lisp/mpc.el
index 9577e0f2f42..768c70c2e3a 100644
--- a/lisp/mpc.el
+++ b/lisp/mpc.el
@@ -1867,11 +1867,14 @@ A value of t means the main playlist.")
 (defvar mpc-volume nil) (put 'mpc-volume 'risky-local-variable t)
 
 (defun mpc-volume-refresh ()
-  ;; Maintain the volume.
-  (setq mpc-volume
-        (mpc-volume-widget
-         (string-to-number (cdr (assq 'volume mpc-status)))))
-  (let ((status-buf (mpc-proc-buffer (mpc-proc) 'status)))
+  "Maintain the volume."
+  (let ((status-buf (mpc-proc-buffer (mpc-proc) 'status))
+        (status-vol (cdr (assq 'volume mpc-status))))
+    ;; If MPD is paused or stopped the volume is nil.
+    (when status-vol
+      (setq mpc-volume
+            (mpc-volume-widget
+             (string-to-number status-vol))))
     (when (buffer-live-p status-buf)
       (with-current-buffer status-buf (force-mode-line-update)))))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]