Delay registering DBus.Properties interface until the moment there are properties on that path. This is needed for objects that currently don't expose any property to not export the interface. --- gdbus/object.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gdbus/object.c b/gdbus/object.c index 3101ca6..47116bd 100644 --- a/gdbus/object.c +++ b/gdbus/object.c @@ -1213,9 +1213,6 @@ static struct generic_data *object_path_ref(DBusConnection *connection, manager_methods, manager_signals, NULL, data, NULL); - add_interface(data, DBUS_INTERFACE_PROPERTIES, properties_methods, - properties_signals, NULL, data, NULL); - return data; } @@ -1336,6 +1333,12 @@ gboolean g_dbus_register_interface(DBusConnection *connection, return FALSE; } + if (properties != NULL && !find_interface(data->interfaces, + DBUS_INTERFACE_PROPERTIES)) + add_interface(data, DBUS_INTERFACE_PROPERTIES, + properties_methods, properties_signals, NULL, + data, NULL); + add_interface(data, name, methods, signals, properties, user_data, destroy); -- 1.8.0.1 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html