diff --git a/man/org.freedesktop.login1.xml b/man/org.freedesktop.login1.xml index bc95253859..dc80e96717 100644 --- a/man/org.freedesktop.login1.xml +++ b/man/org.freedesktop.login1.xml @@ -276,7 +276,6 @@ node /org/freedesktop/login1 { readonly t RuntimeDirectoryInodesMax = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly t InhibitorsMax = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t NCurrentInhibitors = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly t SessionsMax = ...; diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index 7f7d9e70d2..b50e69809f 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -3960,7 +3960,7 @@ static const sd_bus_vtable manager_vtable[] = { SD_BUS_PROPERTY("RuntimeDirectorySize", "t", NULL, offsetof(Manager, runtime_dir_size), SD_BUS_VTABLE_PROPERTY_CONST), SD_BUS_PROPERTY("RuntimeDirectoryInodesMax", "t", NULL, offsetof(Manager, runtime_dir_inodes), SD_BUS_VTABLE_PROPERTY_CONST), SD_BUS_PROPERTY("InhibitorsMax", "t", NULL, offsetof(Manager, inhibitors_max), SD_BUS_VTABLE_PROPERTY_CONST), - SD_BUS_PROPERTY("NCurrentInhibitors", "t", property_get_hashmap_size, offsetof(Manager, inhibitors), 0), + SD_BUS_PROPERTY("NCurrentInhibitors", "t", property_get_hashmap_size, offsetof(Manager, inhibitors), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), SD_BUS_PROPERTY("SessionsMax", "t", NULL, offsetof(Manager, sessions_max), SD_BUS_VTABLE_PROPERTY_CONST), SD_BUS_PROPERTY("NCurrentSessions", "t", property_get_hashmap_size, offsetof(Manager, sessions), 0), SD_BUS_PROPERTY("UserTasksMax", "t", property_get_compat_user_tasks_max, 0, SD_BUS_VTABLE_PROPERTY_CONST|SD_BUS_VTABLE_HIDDEN), diff --git a/src/login/logind-inhibit.c b/src/login/logind-inhibit.c index 2ef15588f2..b78d39d02d 100644 --- a/src/login/logind-inhibit.c +++ b/src/login/logind-inhibit.c @@ -148,13 +148,11 @@ static int inhibitor_save(Inhibitor *i) { } static int bus_manager_send_inhibited_change(Inhibitor *i) { - const char *property; - assert(i); - property = IN_SET(i->mode, INHIBIT_BLOCK, INHIBIT_BLOCK_WEAK) ? "BlockInhibited" : "DelayInhibited"; - - return manager_send_changed(i->manager, property); + return manager_send_changed(i->manager, + i->mode == INHIBIT_DELAY ? "DelayInhibited" : "BlockInhibited", + "NCurrentInhibitors"); } int inhibitor_start(Inhibitor *i) {