ENH: config: add some miss codes

previous commit 'ENH: config: add nill load/save logic for user config' jira: no-jira

Change-Id: I91ab326e533d54846518d11b457db0b0afe4d499
(cherry picked from commit 4086ec60c2b14bfb8ab12aa97842d563f71739ab)
This commit is contained in:
lane.wei 2024-07-08 16:15:11 +08:00 committed by Noisyfox
parent ae72d3345f
commit d691e2c2ed
2 changed files with 5 additions and 1 deletions

View file

@ -541,6 +541,8 @@ public:
if (inherits->size() != rhs->size())
throw ConfigurationError("ConfigOptionVector::set_with_nil(): rhs size different with inherits size");
this->values.resize(inherits->size(), this->values.front());
for (size_t i = 0; i < inherits_opt->size(); i= i+stride) {
bool set_nil = true;
for (size_t j = 0; j < stride; j++) {

View file

@ -551,7 +551,9 @@ void Preset::save(DynamicPrintConfig* parent_config)
ConfigOptionVectorBase* opt_vec_src = static_cast<ConfigOptionVectorBase*>(opt_src);
ConfigOptionVectorBase* opt_vec_dst = static_cast<ConfigOptionVectorBase*>(opt_dst);
ConfigOptionVectorBase* opt_vec_inherit = static_cast<ConfigOptionVectorBase*>(parent_config->option(option));
if (key_set1->find(option) != key_set1->end()) {
if (opt_vec_src->size() == 1)
opt_dst->set(opt_src);
else if (key_set1->find(option) != key_set1->end()) {
opt_vec_dst->set_with_nil(opt_vec_src, opt_vec_inherit, 1);
}
else if (key_set2->find(option) != key_set2->end()) {