From: Michael Albinus Date: Sun, 15 Jun 2014 12:15:25 +0000 (+0200) Subject: Fix a regression bug in D-Bus event handling. X-Git-Tag: emacs-24.3.92~71 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2c7bf3ce244fec86b899ac4804aa1956f291f8d6;p=emacs.git 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'. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3990d4d0106..be263c894ee 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2014-06-15 Michael Albinus + + * net/dbus.el (dbus-call-method): Push only non D-Bus events into + `unread-command-events'. + 2014-06-14 Glenn Morris * progmodes/cc-langs.el: Require cl-lib. (Bug#17463) diff --git a/lisp/net/dbus.el b/lisp/net/dbus.el index 7f230a9d2ab..66170dafef8 100644 --- a/lisp/net/dbus.el +++ b/lisp/net/dbus.el @@ -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)