Mercurial > emacs
diff src/dbusbind.c @ 111251:2dcdfeb8d47c
* dbusbind.c (Fdbus_call_method_asynchronously)
(Fdbus_register_signal, Fdbus_register_method): Check, whether
`dbus-registered-objects-table' is initialized.
Must not be synchronized with the trunk.
| author | Michael Albinus <michael.albinus@gmx.de> |
|---|---|
| date | Mon, 25 Oct 2010 13:46:21 +0200 |
| parents | 7e091be752b1 |
| children | 029e4783cbae 376148b31b5e |
line wrap: on
line diff
--- a/src/dbusbind.c Sun Oct 24 17:05:11 2010 -0400 +++ b/src/dbusbind.c Mon Oct 25 13:46:21 2010 +0200 @@ -1175,6 +1175,10 @@ 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); @@ -1863,6 +1867,10 @@ 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 @@ -1976,6 +1984,10 @@ /* 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);
