diff options
Diffstat (limited to 'bus/activation.c')
-rw-r--r-- | bus/activation.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/bus/activation.c b/bus/activation.c index 3177d023..acb2aa89 100644 --- a/bus/activation.c +++ b/bus/activation.c @@ -268,6 +268,7 @@ update_desktop_file_entry (BusActivation *activation, _DBUS_ASSERT_ERROR_IS_CLEAR (error); + retval = FALSE; name = NULL; exec = NULL; user = NULL; @@ -427,8 +428,11 @@ update_desktop_file_entry (BusActivation *activation, if (_dbus_hash_table_lookup_string (activation->entries, name)) { - _dbus_verbose ("The new service name \"%s\" of service file \"%s\" already in cache, ignoring\n", + _dbus_verbose ("The new service name \"%s\" of service file \"%s\" is already in cache, ignoring\n", name, _dbus_string_get_const_data (&file_path)); + dbus_set_error (error, DBUS_ERROR_FAILED, + "The new service name \"%s\" of service file \"%s\" is already in cache, ignoring\n", + name, _dbus_string_get_const_data (&file_path)); goto out; } @@ -457,8 +461,7 @@ update_desktop_file_entry (BusActivation *activation, * the entries hash table */ _dbus_hash_table_remove_string (entry->s_dir->entries, entry->filename); - bus_activation_entry_unref (entry); - return FALSE; + goto out; } } @@ -476,7 +479,7 @@ out: if (entry) bus_activation_entry_unref (entry); - return FALSE; + return retval; } static dbus_bool_t |