On 2022-02-03 17:36:20, Luiz Augusto von Dentz wrote: > From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> > > This makes InterfacesAdded respect the object hierarchy in case its > parent has pending interfaces to be added. > > Fixes: https://github.com/bluez/bluez/issues/284 https://lore.kernel.org/linux-bluetooth/20211215180527.886481-1-claudio.takahasi@xxxxxxxxx/T/#mfb2f320363c6cd086f6e92d5f6ad441b23d540fe too? This fixees the issue again, thanks! > --- > gdbus/object.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/gdbus/object.c b/gdbus/object.c > index 50a8b4ff1..7232c2986 100644 > --- a/gdbus/object.c > +++ b/gdbus/object.c > @@ -551,6 +551,12 @@ static void emit_interfaces_added(struct generic_data *data) > if (root == NULL || data == root) > return; > > + /* Emit InterfacesAdded on the parent first so it appears first on the > + * bus as chield objects may point to it. child* - Marijn > + */ > + if (data->parent && data->parent->added) > + emit_interfaces_added(data->parent); > + > signal = dbus_message_new_signal(root->path, > DBUS_INTERFACE_OBJECT_MANAGER, > "InterfacesAdded"); > -- > 2.34.1 >