A lot of upower clients expect to get some answer from up_client_get_devices(). So to avoid fixing all consumers we want to return empty device list to them. --- upower-0.99.11/libupower-glib/up-client.c 2019-07-07 10:29:27.000000000 +0000 +++ upower-0.99.11/libupower-glib/up-client.c 2020-01-05 11:05:13.731804295 +0000 @@ -115,17 +115,17 @@ up_client_get_devices2 (UpClient *client g_return_val_if_fail (UP_IS_CLIENT (client), NULL); + array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref); + if (up_exported_daemon_call_enumerate_devices_sync (client->priv->proxy, &devices, NULL, &error) == FALSE) { g_warning ("up_client_get_devices failed: %s", error->message); g_error_free (error); - return NULL; + return array; } - array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref); - for (i = 0; devices[i] != NULL; i++) { UpDevice *device; const char *object_path = devices[i];