From: Michael Albinus Date: Mon, 10 Jan 2011 11:28:31 +0000 (+0100) Subject: * dbusbind.c (Fdbus_register_service): Raise an error in case of X-Git-Tag: emacs-pretest-24.0.90~104^2~618^2~1322^2~239^2~9 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2bc92a930d01f1c0d4b79f8f028ab45312e4f055;p=emacs.git * dbusbind.c (Fdbus_register_service): Raise an error in case of unexpected return values. (Fdbus_register_method): Remove connection initialization. --- diff --git a/src/ChangeLog b/src/ChangeLog index a8b8c87b09c..83524a5c048 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -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 --git a/src/dbusbind.c b/src/dbusbind.c index 2e0a71cad62..0c59c08f5b7 100644 --- a/src/dbusbind.c +++ b/src/dbusbind.c @@ -1888,8 +1888,8 @@ Example: => :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 @@ usage: (dbus-register-service BUS SERVICE &rest FLAGS) */) 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 @@ discovering the still incomplete interface.*/) 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 @@ discovering the still incomplete interface.*/) /* 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,