From 7494c6da7d66682de2eafefa9dcceae42cf8018e Mon Sep 17 00:00:00 2001 From: SoftFever Date: Thu, 29 Jan 2026 19:10:44 +0800 Subject: [PATCH] fix a crash bug when trying to add a filament after sync ams list --- src/libslic3r/PresetBundle.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index 0c25f8ae72..6a3844ce09 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -2199,8 +2199,14 @@ void PresetBundle::set_num_filaments(unsigned int n, std::string new_color) ConfigOptionStrings *filament_multi_color = project_config.option("filament_multi_colour"); ConfigOptionStrings* filament_color_type = project_config.option("filament_colour_type"); ConfigOptionInts* filament_map = project_config.option("filament_map"); + + filament_color->resize(n); - filament_multi_color->resize(n); + // Sync filament multi colour + filament_multi_color->values.resize(n); + for (size_t i = 0; i < n; i++) { + filament_multi_color->values[i] = filament_color->values[i]; + } filament_color_type->resize(n); filament_map->values.resize(n, 1); ams_multi_color_filment.resize(n);