Fix a regression bug in D-Bus event handling.

* net/dbus.el (dbus-call-method): Push only non D-Bus events into
`unread-command-events'.
This commit is contained in:
Michael Albinus 2014-06-15 14:15:25 +02:00
parent e4cff26075
commit 2c7bf3ce24
2 changed files with 11 additions and 4 deletions

View file

@ -1,3 +1,8 @@
2014-06-15 Michael Albinus <michael.albinus@gmx.de>
* net/dbus.el (dbus-call-method): Push only non D-Bus events into
`unread-command-events'.
2014-06-14 Glenn Morris <rgm@gnu.org>
* progmodes/cc-langs.el: Require cl-lib. (Bug#17463)

View file

@ -318,10 +318,12 @@ object is returned instead of a list containing this single Lisp object.
(while (eq (car result) :pending)
(let ((event (let ((inhibit-redisplay t) unread-command-events)
(read-event nil nil check-interval))))
(when event
(setf unread-command-events
(nconc unread-command-events
(cons event nil))))
(when event
(if (ignore-errors (dbus-check-event event))
(setf result (gethash key dbus-return-values-table))
(setf unread-command-events
(nconc unread-command-events
(cons event nil)))))
(when (< check-interval 1)
(setf check-interval (* check-interval 1.05))))))
(when (eq (car result) :error)