# HG changeset patch # User Michael Albinus # Date 1294658911 -3600 # Node ID 318f49ef9a1148be8d9c0c78a5f97f043bc9035c # Parent 060a9a41dd530da8666a0320bd95bee9cd6d8ba1 * dbusbind.c (Fdbus_register_service): Raise an error in case of unexpected return values. (Fdbus_register_method): Remove connection initialization. diff -r 060a9a41dd53 -r 318f49ef9a11 src/ChangeLog --- a/src/ChangeLog Mon Jan 10 12:21:01 2011 +0100 +++ b/src/ChangeLog Mon Jan 10 12:28:31 2011 +0100 @@ -1,4 +1,10 @@ -2011-01-08 Jan Moringen +2011-01-10 Michael Albinus + + * dbusbind.c (Fdbus_register_service): Raise an error in case of + unexpected return values. + (Fdbus_register_method): Remove connection initialization. + +2011-01-10 Jan Moringen * dbusbind.c (QCdbus_request_name_allow_replacement): New symbol; used by Fdbus_register_service. diff -r 060a9a41dd53 -r 318f49ef9a11 src/dbusbind.c --- a/src/dbusbind.c Mon Jan 10 12:21:01 2011 +0100 +++ b/src/dbusbind.c Mon Jan 10 12:28:31 2011 +0100 @@ -1888,8 +1888,8 @@ => :primary-owner. \(dbus-register-service -:session "org.freedesktop.TextEditor" -dbus-service-allow-replacement dbus-service-replace-existing) + :session "org.freedesktop.TextEditor" + dbus-service-allow-replacement dbus-service-replace-existing) => :already-owner. @@ -1939,18 +1939,20 @@ dbus_error_free (&derror); /* Return object. */ - switch (result) { - case DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER: - return QCdbus_request_name_reply_primary_owner; - case DBUS_REQUEST_NAME_REPLY_IN_QUEUE: - return QCdbus_request_name_reply_in_queue; - case DBUS_REQUEST_NAME_REPLY_EXISTS: - return QCdbus_request_name_reply_exists; - case DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER: - return QCdbus_request_name_reply_already_owner; - default: - return Qnil; - } + switch (result) + { + case DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER: + return QCdbus_request_name_reply_primary_owner; + case DBUS_REQUEST_NAME_REPLY_IN_QUEUE: + return QCdbus_request_name_reply_in_queue; + case DBUS_REQUEST_NAME_REPLY_EXISTS: + return QCdbus_request_name_reply_exists; + case DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER: + return QCdbus_request_name_reply_already_owner; + default: + /* This should not happen. */ + XD_SIGNAL2 (build_string ("Could not register service"), service); + } } DEFUN ("dbus-register-signal", Fdbus_register_signal, Sdbus_register_signal, @@ -2129,8 +2131,6 @@ Lisp_Object dont_register_service) { Lisp_Object key, key1, value; - DBusConnection *connection; - int result; DBusError derror; Lisp_Object args[2] = { bus, service }; @@ -2144,11 +2144,8 @@ /* TODO: We must check for a valid service name, otherwise there is a segmentation fault. */ - /* Open a connection to the bus. */ - connection = xd_initialize (bus, TRUE); - /* Request the name. */ - if (NILP(dont_register_service)) + if (NILP (dont_register_service)) Fdbus_register_service (2, args); /* Create a hash table entry. We use nil for the unique name,