FIX: config: add some error process logic when loading 3mf
jira: STUDIO-7956 Change-Id: I13084cfe5233da9e928dc8eb10d8ffe1bc38080c
This commit is contained in:
parent
bf5d7811a0
commit
2ccc72f16e
|
@ -2781,7 +2781,10 @@ void PresetBundle::load_config_file_config(const std::string &name_or_path, bool
|
||||||
1;
|
1;
|
||||||
#else
|
#else
|
||||||
// BBS: use filament_colour insteadof filament_settings_id, filament_settings_id sometimes is not generated
|
// BBS: use filament_colour insteadof filament_settings_id, filament_settings_id sometimes is not generated
|
||||||
size_t num_filaments = config.option<ConfigOptionStrings>("filament_colour")->size();
|
ConfigOptionStrings* filament_colour_option = config.option<ConfigOptionStrings>("filament_colour");
|
||||||
|
size_t num_filaments = filament_colour_option?filament_colour_option->size():0;
|
||||||
|
if (num_filaments == 0)
|
||||||
|
throw Slic3r::RuntimeError(std::string("Invalid configuration file: ") + name_or_path);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//BBS: add config related logs
|
//BBS: add config related logs
|
||||||
|
@ -2836,7 +2839,7 @@ void PresetBundle::load_config_file_config(const std::string &name_or_path, bool
|
||||||
|| (extruder_variant_count < num_filaments)) {
|
|| (extruder_variant_count < num_filaments)) {
|
||||||
assert(false);
|
assert(false);
|
||||||
BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << boost::format(": invalid config file %1%, can not find suitable filament_extruder_variant or filament_self_index") % name_or_path;
|
BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << boost::format(": invalid config file %1%, can not find suitable filament_extruder_variant or filament_self_index") % name_or_path;
|
||||||
throw Slic3r::RuntimeError(std::string("invalid configuration file: ") + name_or_path);
|
throw Slic3r::RuntimeError(std::string("Invalid configuration file: ") + name_or_path);
|
||||||
}
|
}
|
||||||
if (num_filaments != extruder_variant_count) {
|
if (num_filaments != extruder_variant_count) {
|
||||||
process_multi_extruder = true;
|
process_multi_extruder = true;
|
||||||
|
|
Loading…
Reference in New Issue