emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/dbusbind.c,v


From: Michael Albinus
Subject: [Emacs-diffs] Changes to emacs/src/dbusbind.c,v
Date: Wed, 05 Dec 2007 21:53:40 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Michael Albinus <albinus>       07/12/05 21:53:40

Index: dbusbind.c
===================================================================
RCS file: /sources/emacs/emacs/src/dbusbind.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- dbusbind.c  4 Dec 2007 22:41:47 -0000       1.3
+++ dbusbind.c  5 Dec 2007 21:53:40 -0000       1.4
@@ -538,7 +538,7 @@
 
 /* Read queued incoming message of the D-Bus BUS.  BUS is a Lisp
    symbol, either :system or :session.  */
-void
+Lisp_Object
 xd_read_message (bus)
      Lisp_Object bus;
 {
@@ -551,12 +551,6 @@
   uint dtype;
   char service[1024], path[1024], interface[1024], member[1024];
 
-  /* Vdbus_registered_functions_table will be made as hash table in
-     dbus.el.  When it isn't loaded yet, it doesn't make sense to
-     handle D-Bus messages.  */
-  if (!HASH_TABLE_P (Vdbus_registered_functions_table))
-    return;
-
   /* Open a connection to the bus.  */
   connection = xd_initialize (bus);
 
@@ -635,8 +629,18 @@
 void
 xd_read_queued_messages ()
 {
-  xd_read_message (QCdbus_system_bus);
-  xd_read_message (QCdbus_session_bus);
+
+  /* Vdbus_registered_functions_table will be made as hash table in
+     dbus.el.  When it isn't loaded yet, it doesn't make sense to
+     handle D-Bus messages.  Furthermore, we ignore all Lisp errors
+     during the call.  */
+  if (HASH_TABLE_P (Vdbus_registered_functions_table))
+    {
+      internal_condition_case_1 (xd_read_message, QCdbus_system_bus,
+                                Qerror, Fidentity);
+      internal_condition_case_1 (xd_read_message, QCdbus_session_bus,
+                                Qerror, Fidentity);
+    }
 }
 
 DEFUN ("dbus-register-signal", Fdbus_register_signal, Sdbus_register_signal,




reply via email to

[Prev in Thread] Current Thread [Next in Thread]