diff --git a/repos/gems/src/app/depot_deploy/child.h b/repos/gems/src/app/depot_deploy/child.h index e35839483..96b820550 100644 --- a/repos/gems/src/app/depot_deploy/child.h +++ b/repos/gems/src/app/depot_deploy/child.h @@ -232,7 +232,7 @@ class Depot_deploy::Child : public List_model::Element : Xml_node(""); if (_condition == UNSATISFIED && _start_xml.constructed()) - fn(_start_xml->xml(), launcher_xml); + fn(_start_xml->xml(), launcher_xml, _name); } void mark_as_incomplete(Xml_node missing) diff --git a/repos/gems/src/app/sculpt_manager/deploy.cc b/repos/gems/src/app/sculpt_manager/deploy.cc index 0aa11cc4a..a0e8f980b 100644 --- a/repos/gems/src/app/sculpt_manager/deploy.cc +++ b/repos/gems/src/app/sculpt_manager/deploy.cc @@ -42,10 +42,8 @@ void Sculpt::Deploy::gen_child_diagnostics(Xml_generator &xml) const typedef Registered_no_delete Registered_message; Registry messages { }; - auto gen_missing_dependencies = [&] (Xml_node start) + auto gen_missing_dependencies = [&] (Xml_node start, Start_name const &name) { - Start_name const name = start.attribute_value("name", Start_name()); - _for_each_missing_server(start, [&] (Start_name const &server) { Message const new_message(Pretty(name), " requires ", Pretty(server)); @@ -60,9 +58,10 @@ void Sculpt::Deploy::gen_child_diagnostics(Xml_generator &xml) const }); }; - _children.for_each_unsatisfied_child([&] (Xml_node start, Xml_node launcher) { - gen_missing_dependencies(start); - gen_missing_dependencies(launcher); + _children.for_each_unsatisfied_child([&] (Xml_node start, Xml_node launcher, + Start_name const &name) { + gen_missing_dependencies(start, name); + gen_missing_dependencies(launcher, name); }); /* diff --git a/repos/gems/src/app/sculpt_manager/deploy.h b/repos/gems/src/app/sculpt_manager/deploy.h index 7b7572386..80c962307 100644 --- a/repos/gems/src/app/sculpt_manager/deploy.h +++ b/repos/gems/src/app/sculpt_manager/deploy.h @@ -174,7 +174,7 @@ struct Sculpt::Deploy bool any_unsatisfied_child() const { bool all_satisfied = true; - _children.for_each_unsatisfied_child([&] (Xml_node, Xml_node) { + _children.for_each_unsatisfied_child([&] (Xml_node, Xml_node, Start_name const &) { all_satisfied = false; }); return !all_satisfied; }