From e4418731eb6a74911dfe31682c0858b4cf5bdc3c Mon Sep 17 00:00:00 2001 From: "zhou.xu" Date: Wed, 27 Aug 2025 12:03:57 +0800 Subject: [PATCH] FIX:Fix the issue of incorrect support material index in override mode jira: github 7997 Change-Id: I1963a69b34037f41efe2e044361c9ca1cd581977 (cherry picked from commit 3f8af5c858b455c734f72dae601456a7b98a5f97) --- src/libslic3r/PresetBundle.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index 7169ac5ea9..b2a09ac560 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -2540,21 +2540,26 @@ unsigned int PresetBundle::sync_ams_list(std::vectorresize(exist_colors.size()); filament_color->values = exist_colors; - filament_color_type->resize(exist_colors.size()); filament_color_type->values = exist_color_types; ams_multi_color_filment = exist_multi_color_filment; this->filament_presets = exist_filament_presets; filament_map->values.resize(exist_filament_presets.size(), 1); } - else {//overwrite - filament_color->resize(ams_filament_presets.size()); + else {//overwrite; filament_color->values = ams_filament_colors; - filament_color_type->resize(ams_filament_presets.size()); filament_color_type->values = ams_filament_color_types; this->filament_presets = ams_filament_presets; filament_map->values.resize(ams_filament_colors.size(), 1); + + auto& print_config = this->prints.get_edited_preset().config; + auto support_filament_opt = print_config.option("support_filament"); + auto support_interface_filament_opt = print_config.option("support_interface_filament"); + if (support_filament_opt->value > ams_filament_color_types.size()) + support_filament_opt->value = 0; + + if (support_interface_filament_opt->value > ams_filament_color_types.size()) + support_interface_filament_opt->value = 0; } // Update ams_multi_color_filment update_filament_multi_color();