assert(property);
assert(u);
- if (!dbus_message_iter_open_container(i, DBUS_TYPE_ARRAY, "so", &sub))
+ if (!dbus_message_iter_open_container(i, DBUS_TYPE_ARRAY, "(so)", &sub))
return -ENOMEM;
LIST_FOREACH(sessions_by_user, session, u->sessions) {
static int bus_user_append_idle_hint(DBusMessageIter *i, const char *property, void *data) {
User *u = data;
- bool b;
+ dbus_bool_t b;
assert(i);
assert(property);
assert(u);
- b = user_get_idle_hint(u, NULL);
+ b = user_get_idle_hint(u, NULL) > 0;
+
if (!dbus_message_iter_append_basic(i, DBUS_TYPE_BOOLEAN, &b))
return -ENOMEM;
assert(u);
+ if (!u->started)
+ return 0;
+
p = user_bus_path(u);
if (!p)
return -ENOMEM;