FIX: CLI: fix the crash issue caused filament_id missing

jira: no-jira
Change-Id: I6256a846cf30f304deda32f61ed5329aacdb5f73
This commit is contained in:
lane.wei 2025-02-14 23:03:20 +08:00
parent d77c0abd34
commit d14e3f42a0
1 changed files with 10 additions and 9 deletions

View File

@ -1334,11 +1334,11 @@ int CLI::run(int argc, char **argv)
/*BOOST_LOG_TRIVIAL(info) << "begin to setup params, argc=" << argc << std::endl;
for (int index=0; index < argc; index++)
BOOST_LOG_TRIVIAL(info) << "index="<< index <<", arg is "<< argv[index] <<std::endl;
int debug_argc = 5;
int debug_argc = 6;
char* debug_argv[] = {
"F:\work\projects\bambu_debug\bamboo_slicer\build_debug\src\Debug\bambu-studio.exe",
"--debug=2",
//"--uptodate",
"--uptodate",
//"--load-settings",
//"machine_A1.json",
//"--load-defaultfila",
@ -3066,13 +3066,6 @@ int CLI::run(int argc, char **argv)
opt_filament_settings->set_at(filament_name_setting, filament_index-1, 0);
config.erase("filament_settings_id");
std::string& filament_id = load_filaments_id[index];
ConfigOptionStrings *opt_filament_ids = static_cast<ConfigOptionStrings *> (m_print_config.option("filament_ids", true));
ConfigOptionString* filament_id_setting = new ConfigOptionString(filament_id);
if (opt_filament_ids->size() < filament_count)
opt_filament_ids->resize(filament_count, filament_id_setting);
opt_filament_ids->set_at(filament_id_setting, filament_index-1, 0);
//todo: update different settings of filaments
different_settings[filament_index] = "";
inherits_group[filament_index] = load_filaments_inherit[index];
@ -3086,6 +3079,14 @@ int CLI::run(int argc, char **argv)
}
}
//add filament_id
std::string& filament_id = load_filaments_id[index];
ConfigOptionStrings *opt_filament_ids = static_cast<ConfigOptionStrings *> (m_print_config.option("filament_ids", true));
ConfigOptionString* filament_id_setting = new ConfigOptionString(filament_id);
if (opt_filament_ids->size() < filament_count)
opt_filament_ids->resize(filament_count, filament_id_setting);
opt_filament_ids->set_at(filament_id_setting, filament_index-1, 0);
//parse the filament value to index th
//loop through options and apply them
std::set<std::string> different_keys_set(different_keys.begin(), different_keys.end());