1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-07 15:21:46 +00:00

* net/dbus.el (dbus-name-owner-changed-handler): Use

`dbus-unregister-signal' for removing old rules.  Obey new
structure of `dbus-registered-functions-table'.
This commit is contained in:
Michael Albinus 2007-12-16 22:42:47 +00:00
parent f5306ca30f
commit 3cc546adf4
2 changed files with 14 additions and 12 deletions

View File

@ -1,3 +1,9 @@
2007-12-16 Michael Albinus <michael.albinus@gmx.de>
* net/dbus.el (dbus-name-owner-changed-handler): Use
`dbus-unregister-signal' for removing old rules. Obey new
structure of `dbus-registered-functions-table'.
2007-12-12 Thien-Thi Nguyen <ttn@gnuvola.org>
* progmodes/cc-vars.el (defcustom-c-stylevar): Rewrite.

View File

@ -79,21 +79,17 @@ owner of SERVICE, or the empty string if SERVICE looses any name owner."
'(lambda (key value)
(dolist (elt value)
;; key has the structure (BUS INTERFACE SIGNAL).
;; elt has the structure (SERVICE UNAME PATH HANDLER).
(when (string-equal old-owner (cadr elt))
;; elt has the structure (UNAME SERVICE PATH HANDLER).
(when (string-equal old-owner (car elt))
;; Remove old key, and add new entry with changed name.
(when dbus-debug (message "Remove rule for %s %s" key elt))
;(dbus-unregister-signal key)
(setcar (cdr elt) new-owner)
(when dbus-debug (message "Add rule for %s %s" key elt))
(dbus-unregister-signal (list key (cdr elt)))
;; Maybe we could arrange the lists a little bit better
;; that we don't need to extract every single element?
(when (not (zerop (length new-owner)))
(dbus-register-signal
;; BUS SERVICE PATH
(nth 0 key) (nth 0 elt) (nth 2 elt)
;; INTERFACE SIGNAL HANDLER
(nth 1 key) (nth 2 key) (nth 3 elt))))))
(dbus-register-signal
;; BUS SERVICE PATH
(nth 0 key) (nth 1 elt) (nth 2 elt)
;; INTERFACE SIGNAL HANDLER
(nth 1 key) (nth 2 key) (nth 3 elt)))))
(copy-hash-table dbus-registered-functions-table)))))
;; Register the handler.