logind: fix emission of PropertiesChanged on seats
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 21 Oct 2019 13:05:58 +0000 (15:05 +0200)
committerMichael Biebl <biebl@debian.org>
Sun, 10 Nov 2019 23:58:41 +0000 (23:58 +0000)
commit06ab2297207f8ee7aae6961c555ab83fb5e28885
tree25586a309ad3f592cd02c19fb0d00e19304dd442
parentf2d261e733b714b68f8e8ff5bddc594edc8863ec
logind: fix emission of PropertiesChanged on seats

The story is the same as in 471cffcfb0e005b7c4044b3b52cc4f25d217efac:
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.

(cherry picked from commit 8cc64c2a3640121745fdfaccc6eae896ac25a911)

Gbp-Pq: Name logind-fix-emission-of-PropertiesChanged-on-seats.patch
src/login/logind-dbus.c
src/login/logind-seat-dbus.c