diff --git a/src/slic3r/GUI/Widgets/AMSControl.cpp b/src/slic3r/GUI/Widgets/AMSControl.cpp index 51331d9646..9c02a90520 100644 --- a/src/slic3r/GUI/Widgets/AMSControl.cpp +++ b/src/slic3r/GUI/Widgets/AMSControl.cpp @@ -800,6 +800,13 @@ void AMSControl::Reset() m_current_show_ams = ""; m_current_ams = ""; m_current_select = "";*/ + + m_ams_info.clear(); + m_ext_info.clear(); + m_dev_id.clear(); + ClearAms(); + + Layout(); } void AMSControl::show_noams_mode() @@ -888,7 +895,7 @@ void AMSControl::UpdateAms(std::vector ams_info, std::vectorex bool fresh = false; // basic check - if (m_ams_info.size() == ams_info.size() && m_extder_data.total_extder_count == data.total_extder_count && m_dev_id == dev_id){ + if (m_ams_info.size() == ams_info.size() && m_extder_data.total_extder_count == data.total_extder_count && m_dev_id == dev_id && m_ext_info.size() == ext_info.size()) { for (int i = 0; i < m_ams_info.size(); i++){ if (m_ams_info[i].ams_id != ams_info[i].ams_id){ fresh = true; @@ -997,6 +1004,7 @@ void AMSControl::UpdateAms(std::vector ams_info, std::vectorex } SetSize(wxSize(FromDIP(578), -1)); SetMinSize(wxSize(FromDIP(578), -1)); + Layout(); } //Thaw();