login: mark the Display property as "emits change"
authorFrantisek Sumsal <frantisek@sumsal.cz>
Wed, 15 Nov 2023 21:21:16 +0000 (22:21 +0100)
committerFrantisek Sumsal <frantisek@sumsal.cz>
Wed, 15 Nov 2023 21:41:24 +0000 (22:41 +0100)
commit236cb016222288bdf5be5f2d8f9e81d6e4a6adab
tree47cda4e141949a277775b049dd2d8b53e6bb6424
parent9988043b6ba96b67bdb55fe5d5c7a46e0a993e3f
login: mark the Display property as "emits change"

With the introduction of SetDisplay() method in 4885d7490b2 the Display
property emits a "properties changed" message every time the display is
changed using this method, so mark it appropriately.

Caught by systemd/systemd#30029:

systemd-logind[1366]: Got message type=method_call sender=:1.165 destination=org.freedesktop.login1 path=/org/freedesktop/login1/session/_310 interface=org.freedesktop.login1.Session member=SetDisplay  cookie=8 reply_cookie=0 signature=s error-name=n/a error-message=n/a
systemd-logind[1366]: Assertion 'v->vtable->flags & SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE || v->vtable->flags & SD_BUS_VTABLE_PROPERTY_EMITS_INVALIDATION' failed at src/libsystemd/sd-bus/bus-objects.c:2141, function emit_properties_changed_on_interface(). Ignoring.

Follow-up to 4885d7490b2.
man/org.freedesktop.login1.xml
src/login/logind-session-dbus.c