The org.freedesktop.DBus.Properties.PropertiesChanged signal allows sending "invalidated_properties" (only property names without values). In this case the property_changed callbacks are called with NULL iterator by gdbus/client.c::properties_changed(): ... proxy->prop_func(..., ..., iter=NULL, ...) ... Christian Eggers (9): advertising: parse_secondary: fix loop condition advertising: parse_secondary: fix mask value advertising: parse_secondary: check for NULL iterator advertising: parse_min_interval: reset min_interval if iter is NULL advertising: parse_[min|max]_interval: reset value if iter is NULL advertising: parse_tx_power: reset value if iter is NULL client/gatt: proxy_property_changed: check for NULL iterator gatt: proxy_property_changed: check for NULL iterator battery: provided_battery_property_changed_cb: check for NULL iterator client/gatt.c | 5 +++++ src/advertising.c | 22 +++++++++++++++++----- src/battery.c | 10 ++++++---- src/gatt-database.c | 20 +++++++++++--------- 4 files changed, 39 insertions(+), 18 deletions(-) -- 2.35.3