FIX: gui: fix the crash after first loading configs

caused by printer_model missed in the setup stage
jira: STUDIO-10966

Change-Id: I3a887de800c62c5dd355c9dce554e2b5828a1c55
This commit is contained in:
lane.wei 2025-03-25 10:48:02 +08:00
parent 956c3d6d84
commit a598ce8d61
1 changed files with 11 additions and 4 deletions

View File

@ -869,12 +869,19 @@ bool GuideFrame::apply_config(AppConfig *app_config, PresetBundle *preset_bundle
if (model_it.second.size() > 0) {
variant = *model_it.second.begin();
if (model_it.second.size() > 1) {
const VendorProfile::PrinterModel &printer_model = *std::find_if(printer_profile.models.begin(), printer_profile.models.end(),
[id = model_it.first](auto &m) { return m.id == id; });
for (auto &vt : printer_model.variants) {
if (printer_profile.models.size() > 0) {
const VendorProfile::PrinterModel& printer_model = *std::find_if(printer_profile.models.begin(), printer_profile.models.end(),
[id = model_it.first](auto& m) { return m.id == id; });
for (auto& vt : printer_model.variants) {
if (std::find(model_it.second.begin(), model_it.second.end(), vt.name) != model_it.second.end()) { variant = vt.name; break; }
}
}
else if (variant != PresetBundle::BBL_DEFAULT_PRINTER_VARIANT){
if (std::find(model_it.second.begin(), model_it.second.end(), PresetBundle::BBL_DEFAULT_PRINTER_VARIANT) != model_it.second.end())
variant = PresetBundle::BBL_DEFAULT_PRINTER_VARIANT;
}
}
const auto config_old = old_enabled_vendors.find(bundle_name);
if (config_old == old_enabled_vendors.end())
return model_it.first;