summaryrefslogtreecommitdiff
path: root/src/dbusbind.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dbusbind.c')
-rw-r--r--src/dbusbind.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/dbusbind.c b/src/dbusbind.c
index 683b7cb583..beb1faaf4a 100644
--- a/src/dbusbind.c
+++ b/src/dbusbind.c
@@ -1232,6 +1232,10 @@ usage: (dbus-call-method-asynchronously BUS SERVICE PATH INTERFACE METHOD HANDLE
SDATA (interface),
SDATA (method));
+ /* Check dbus-registered-objects-table. */
+ if (!HASH_TABLE_P (Vdbus_registered_objects_table))
+ XD_SIGNAL1 (build_string ("dbus.el is not loaded"));
+
/* Open a connection to the bus. */
connection = xd_initialize (bus, TRUE);
@@ -1869,6 +1873,10 @@ usage: (dbus-register-signal BUS SERVICE PATH INTERFACE SIGNAL HANDLER &rest ARG
wrong_type_argument (intern ("functionp"), handler);
GCPRO6 (bus, service, path, interface, signal, handler);
+ /* Check dbus-registered-objects-table. */
+ if (!HASH_TABLE_P (Vdbus_registered_objects_table))
+ XD_SIGNAL1 (build_string ("dbus.el is not loaded"));
+
/* Retrieve unique name of service. If service is a known name, we
will register for the corresponding unique name, if any. Signals
are sent always with the unique name as sender. Note: the unique
@@ -1981,6 +1989,10 @@ used for composing the returning D-Bus message. */)
/* TODO: We must check for a valid service name, otherwise there is
a segmentation fault. */
+ /* Check dbus-registered-objects-table. */
+ if (!HASH_TABLE_P (Vdbus_registered_objects_table))
+ XD_SIGNAL1 (build_string ("dbus.el is not loaded"));
+
/* Open a connection to the bus. */
connection = xd_initialize (bus, TRUE);