From 2cb963852ba1110e5c8d4bf00be834abd04ce7e7 Mon Sep 17 00:00:00 2001 From: "zhou.xu" Date: Wed, 6 Aug 2025 20:50:20 +0800 Subject: [PATCH] FIX:The additional colors need to be found corresponding to them jira: STUDIO-13871 Change-Id: Ia96b41278198b02ffb3b878e6584b83e860ab87a (cherry picked from commit 7020e92ec8fdccd499e0d870965818b3e6dcdb07) --- src/slic3r/GUI/ObjColorDialog.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/ObjColorDialog.cpp b/src/slic3r/GUI/ObjColorDialog.cpp index cf374c1ad6..e72459af62 100644 --- a/src/slic3r/GUI/ObjColorDialog.cpp +++ b/src/slic3r/GUI/ObjColorDialog.cpp @@ -814,10 +814,22 @@ void ObjColorPanel::update_new_add_final_colors() } else { m_max_filament_index = 0; } + if (m_max_filament_index <= m_colours.size()) { // Fix 20240904 m_new_add_final_colors.clear(); - } else { + } + else { m_new_add_final_colors.resize(m_max_filament_index - m_colours.size()); + for (int ii = m_colours.size() ; ii < m_max_filament_index; ii++) { + for (int j = 0; j < m_cluster_map_filaments.size(); j++) { + if (m_cluster_map_filaments[j] == (ii+ 1) && j < m_new_add_colors.size()) { + auto index = ii - m_colours.size(); + if (index < m_new_add_final_colors.size()) { + m_new_add_final_colors[index] = m_new_add_colors[j]; + } + } + } + } } if (m_new_add_final_colors.size() > 0) { m_is_add_filament = true;