mirror of
https://github.com/Dasharo/systemd.git
synced 2026-03-06 15:02:31 -08:00
logind: fix emission of PropertiesChanged on seats
The story is the same as in 471cffcfb0:
device_attach() → seat_send_changed() → sd_bus_emit_properties_changed_strv()
→ emit_properties_changed_on_interface() → node_vtable_get_userdata()
→ seat_object_find(), which returns 0 because message == NULL.
But when we are emitting a signal, message is always NULL. Removing the
overeager check and assert in the called function allow the signal to be
emitted.
Fixes #13769.
This commit is contained in:
@@ -189,7 +189,6 @@ int manager_get_seat_from_creds(
|
||||
int r;
|
||||
|
||||
assert(m);
|
||||
assert(message);
|
||||
assert(ret);
|
||||
|
||||
if (SEAT_IS_SELF(name) || SEAT_IS_AUTO(name)) {
|
||||
|
||||
@@ -280,8 +280,6 @@ int seat_object_find(sd_bus *bus, const char *path, const char *interface, void
|
||||
return -ENOMEM;
|
||||
|
||||
message = sd_bus_get_current_message(bus);
|
||||
if (!message)
|
||||
return 0;
|
||||
|
||||
r = manager_get_seat_from_creds(m, message, e, error, &seat);
|
||||
if (r == -ENXIO) {
|
||||
|
||||
Reference in New Issue
Block a user