diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 4b140c5b0..f748283a5 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -3127,12 +3127,12 @@ void Sidebar::sync_ams_list(bool is_from_big_sync_btn) for (size_t i = 0; i < merge_info.merges.size(); i++) { auto& cur = merge_info.merges[i]; - for (size_t j = cur.size() -1; j >= 1 ; j--) { + for (int j = cur.size() -1; j >= 1 ; j--) { auto last_index = cur[j]; change_filament(last_index, cur[0]); cur.erase(cur.begin() + j); sync_ams_badges.erase(sync_ams_badges.begin() + last_index); - reduce_index(merge_info, cur[j]); + reduce_index(merge_info, last_index); } } for (size_t i = 0; i < sync_ams_badges.size(); i++) { diff --git a/src/slic3r/GUI/SyncAmsInfoDialog.cpp b/src/slic3r/GUI/SyncAmsInfoDialog.cpp index e885aacc1..862a147f4 100644 --- a/src/slic3r/GUI/SyncAmsInfoDialog.cpp +++ b/src/slic3r/GUI/SyncAmsInfoDialog.cpp @@ -291,8 +291,8 @@ void SyncAmsInfoDialog::deal_ok() m_result.sync_maps.clear(); for (size_t i = 0; i < m_ams_mapping_result.size(); i++) { auto temp_idx = m_ams_mapping_result[i].id; - if (temp_idx >= 0 && temp_idx < m_result.sync_maps.size()) { - auto &temp = m_result.sync_maps[m_ams_mapping_result[i].id]; + if (temp_idx >= 0) { + auto &temp = m_result.sync_maps[temp_idx]; temp.ams_id = m_ams_mapping_result[i].ams_id; temp.slot_id = m_ams_mapping_result[i].slot_id; }