]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix a regression bug in D-Bus event handling.
authorMichael Albinus <michael.albinus@gmx.de>
Sun, 15 Jun 2014 12:15:25 +0000 (14:15 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Sun, 15 Jun 2014 12:15:25 +0000 (14:15 +0200)
* net/dbus.el (dbus-call-method): Push only non D-Bus events into
`unread-command-events'.

lisp/ChangeLog
lisp/net/dbus.el

index 3990d4d0106bda867a9177de82c0400b7cca6601..be263c894ee78c704204fd632c32d09f650abbf0 100644 (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)
index 7f230a9d2abd66a9837372cbfe6eb8717d1ea96d..66170dafef8a813c8f75d3b817ae610dbb0bff38 100644 (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)