diff options
| -rw-r--r-- | ChangeLog | 6 | ||||
| -rw-r--r-- | bus/driver.c | 17 | 
2 files changed, 19 insertions, 4 deletions
@@ -1,3 +1,9 @@ +2004-08-26  Jon Trowbridge  <trow@ximian.com> + +	* bus/driver.c (bus_driver_handle_service_exists): Respond with +	TRUE if we are inquiring about the existence of the built-in +	org.freedesktop.DBus service. +  2004-08-25  John Palmieri  <johnp@redhat.com>  	* bus/config-parser.c:  	(struct PolicyType): Add POLICY_CONSOLE diff --git a/bus/driver.c b/bus/driver.c index 9923f121..90659cd2 100644 --- a/bus/driver.c +++ b/bus/driver.c @@ -511,6 +511,7 @@ bus_driver_handle_service_exists (DBusConnection *connection,    DBusMessage *reply;    DBusString service_name;    BusService *service; +  dbus_bool_t service_exists;    char *name;    dbus_bool_t retval;    BusRegistry *registry; @@ -525,10 +526,18 @@ bus_driver_handle_service_exists (DBusConnection *connection,      return FALSE;    retval = FALSE; + +  if (strcmp (name, DBUS_SERVICE_ORG_FREEDESKTOP_DBUS) == 0) +    { +      service_exists = TRUE; +    } +  else +    { +      _dbus_string_init_const (&service_name, name); +      service = bus_registry_lookup (registry, &service_name); +      service_exists = service != NULL; +    } -  _dbus_string_init_const (&service_name, name); -  service = bus_registry_lookup (registry, &service_name); -     reply = dbus_message_new_method_return (message);    if (reply == NULL)      { @@ -537,7 +546,7 @@ bus_driver_handle_service_exists (DBusConnection *connection,      }    if (!dbus_message_append_args (reply, -                                 DBUS_TYPE_BOOLEAN, service != NULL, +                                 DBUS_TYPE_BOOLEAN, service_exists,                                   0))      {        BUS_SET_OOM (error);  | 
