# HG changeset patch # User Michael Albinus # Date 1288007181 -7200 # Node ID 2dcdfeb8d47cdf637237031e38eea6d8fb3c666c # Parent bd94f8980f472c85d6555664865636d9b2725c0f * 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. diff -r bd94f8980f47 -r 2dcdfeb8d47c src/ChangeLog --- a/src/ChangeLog Sun Oct 24 17:05:11 2010 -0400 +++ b/src/ChangeLog Mon Oct 25 13:46:21 2010 +0200 @@ -1,3 +1,9 @@ +2010-10-25 Michael Albinus + + * dbusbind.c (Fdbus_call_method_asynchronously) + (Fdbus_register_signal, Fdbus_register_method): Check, whether + `dbus-registered-objects-table' is initialized. + 2010-10-24 Chong Yidong * xterm.c (x_connection_closed): Kill Emacs unconditionally. diff -r bd94f8980f47 -r 2dcdfeb8d47c src/dbusbind.c --- 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);