diff options
| author | Michael Albinus | 2014-06-15 14:15:25 +0200 |
|---|---|---|
| committer | Michael Albinus | 2014-06-15 14:15:25 +0200 |
| commit | 2c7bf3ce244fec86b899ac4804aa1956f291f8d6 (patch) | |
| tree | 45adbbd9f2fa83955c520da9491a46985b604d87 /lisp/net | |
| parent | e4cff260759aa8affa01a28f944c328c1c90c827 (diff) | |
| download | emacs-2c7bf3ce244fec86b899ac4804aa1956f291f8d6.tar.gz emacs-2c7bf3ce244fec86b899ac4804aa1956f291f8d6.zip | |
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'.
Diffstat (limited to 'lisp/net')
| -rw-r--r-- | lisp/net/dbus.el | 10 |
1 files changed, 6 insertions, 4 deletions
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. | |||
| 318 | (while (eq (car result) :pending) | 318 | (while (eq (car result) :pending) |
| 319 | (let ((event (let ((inhibit-redisplay t) unread-command-events) | 319 | (let ((event (let ((inhibit-redisplay t) unread-command-events) |
| 320 | (read-event nil nil check-interval)))) | 320 | (read-event nil nil check-interval)))) |
| 321 | (when event | 321 | (when event |
| 322 | (setf unread-command-events | 322 | (if (ignore-errors (dbus-check-event event)) |
| 323 | (nconc unread-command-events | 323 | (setf result (gethash key dbus-return-values-table)) |
| 324 | (cons event nil)))) | 324 | (setf unread-command-events |
| 325 | (nconc unread-command-events | ||
| 326 | (cons event nil))))) | ||
| 325 | (when (< check-interval 1) | 327 | (when (< check-interval 1) |
| 326 | (setf check-interval (* check-interval 1.05)))))) | 328 | (setf check-interval (* check-interval 1.05)))))) |
| 327 | (when (eq (car result) :error) | 329 | (when (eq (car result) :error) |