aboutsummaryrefslogtreecommitdiffstats
path: root/src/dbusbind.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dbusbind.c')
-rw-r--r--src/dbusbind.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/dbusbind.c b/src/dbusbind.c
index 581b5ffd541..07fc24243d7 100644
--- a/src/dbusbind.c
+++ b/src/dbusbind.c
@@ -538,7 +538,7 @@ usage: (dbus-send-signal BUS SIGNAL SERVICE PATH INTERFACE &rest ARGS) */)
538 538
539/* Read queued incoming message of the D-Bus BUS. BUS is a Lisp 539/* Read queued incoming message of the D-Bus BUS. BUS is a Lisp
540 symbol, either :system or :session. */ 540 symbol, either :system or :session. */
541void 541Lisp_Object
542xd_read_message (bus) 542xd_read_message (bus)
543 Lisp_Object bus; 543 Lisp_Object bus;
544{ 544{
@@ -551,12 +551,6 @@ xd_read_message (bus)
551 uint dtype; 551 uint dtype;
552 char service[1024], path[1024], interface[1024], member[1024]; 552 char service[1024], path[1024], interface[1024], member[1024];
553 553
554 /* Vdbus_registered_functions_table will be made as hash table in
555 dbus.el. When it isn't loaded yet, it doesn't make sense to
556 handle D-Bus messages. */
557 if (!HASH_TABLE_P (Vdbus_registered_functions_table))
558 return;
559
560 /* Open a connection to the bus. */ 554 /* Open a connection to the bus. */
561 connection = xd_initialize (bus); 555 connection = xd_initialize (bus);
562 556
@@ -635,8 +629,18 @@ xd_read_message (bus)
635void 629void
636xd_read_queued_messages () 630xd_read_queued_messages ()
637{ 631{
638 xd_read_message (QCdbus_system_bus); 632
639 xd_read_message (QCdbus_session_bus); 633 /* Vdbus_registered_functions_table will be made as hash table in
634 dbus.el. When it isn't loaded yet, it doesn't make sense to
635 handle D-Bus messages. Furthermore, we ignore all Lisp errors
636 during the call. */
637 if (HASH_TABLE_P (Vdbus_registered_functions_table))
638 {
639 internal_condition_case_1 (xd_read_message, QCdbus_system_bus,
640 Qerror, Fidentity);
641 internal_condition_case_1 (xd_read_message, QCdbus_session_bus,
642 Qerror, Fidentity);
643 }
640} 644}
641 645
642DEFUN ("dbus-register-signal", Fdbus_register_signal, Sdbus_register_signal, 646DEFUN ("dbus-register-signal", Fdbus_register_signal, Sdbus_register_signal,