diff --git a/source/RobotAPI/libraries/aron_component_config/PropertyDefinitionVisitors.cpp b/source/RobotAPI/libraries/aron_component_config/PropertyDefinitionVisitors.cpp index a7d1c13a1fb663ff2768b8d33681b198a440b9b5..d40feb193882995c57b0cde5896de52203e69403 100644 --- a/source/RobotAPI/libraries/aron_component_config/PropertyDefinitionVisitors.cpp +++ b/source/RobotAPI/libraries/aron_component_config/PropertyDefinitionVisitors.cpp @@ -87,14 +87,18 @@ namespace armarx::aron::component_config auto type = type::List::DynamicCast(t); auto old_list = data::List::DynamicCast(o); old_list->clear(); - std::string list; - property_user_->getProperty(list, name); - std::vector<std::string> vector = simox::alg::split(list, ","); + auto get_list = [this, & name]() -> std::vector<std::string> + { + std::string list; + property_user_->getProperty(list, name); + return simox::alg::split(list, ","); + }; int i = 0; switch (type->getAcceptedType()->getDescriptor()) { case type::Descriptor::INT: { + std::vector<std::string> vector = get_list(); std::for_each(vector.begin(), vector.end(), [&old_list, &i](const auto& el){ old_list->addElement(make_int(std::stoi(el), old_list->getPath().withIndex(i))); i++; @@ -103,6 +107,7 @@ namespace armarx::aron::component_config } case type::Descriptor::STRING: { + std::vector<std::string> vector = get_list(); std::for_each(vector.begin(), vector.end(), [&old_list, &i](const auto& el){ old_list->addElement(make_string(el, old_list->getPath().withIndex(i))); i++;