FIX:got the wrong name of the selected filament

jira: none
Change-Id: I476bd1dfb995a0868161184c0c5782e1cae4dde3
This commit is contained in:
zhou.xu 2025-04-18 16:29:24 +08:00 committed by lane.wei
parent 7b507d4a6a
commit 31a7f19b98

View File

@ -231,8 +231,10 @@ int PresetComboBox::update_ams_color()
int idx = selected_ams_filament();
std::string color;
if (idx < 0) {
auto *preset = m_collection->find_preset(Preset::remove_suffix_modified(GetLabel().ToUTF8().data()));
if (preset) color = preset->config.opt_string("default_filament_colour", 0u);
auto name = Preset::remove_suffix_modified(GetValue().ToUTF8().data());
auto *preset = m_collection->find_preset(name);
if (preset)
color = preset->config.opt_string("default_filament_colour", 0u);
if (color.empty()) return -1;
} else {
auto &ams_list = wxGetApp().preset_bundle->filament_ams_list;
@ -917,7 +919,7 @@ void PlaterPresetComboBox::OnSelect(wxCommandEvent &evt)
wxTheApp->CallAfter([sp]() { run_wizard(sp); });
//}
return;
} else if (marker == LABEL_ITEM_PHYSICAL_PRINTER || m_last_selected != selected_item || m_collection->current_is_dirty()) {
} else if (marker == LABEL_ITEM_PHYSICAL_PRINTER || selected_item >= 0 || m_collection->current_is_dirty()) {
m_last_selected = selected_item;
if (m_type == Preset::TYPE_FILAMENT)
update_ams_color();