From 8a84222be083f80180cb4c14c6925a273dce5741 Mon Sep 17 00:00:00 2001 From: "zhimin.zeng" Date: Mon, 10 Feb 2025 11:57:42 +0800 Subject: [PATCH] FIX: crash when switching preset from H2D to A1 jira: STUDIO-10252 Change-Id: I3c9e2b334a4cae3fee5a21d9af24e606f1b44d18 --- src/slic3r/GUI/PartPlate.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/PartPlate.cpp b/src/slic3r/GUI/PartPlate.cpp index 38d099a8e..ee763ead1 100644 --- a/src/slic3r/GUI/PartPlate.cpp +++ b/src/slic3r/GUI/PartPlate.cpp @@ -1338,7 +1338,10 @@ bool PartPlate::check_filament_printable(const DynamicPrintConfig &config, wxStr std::string filament_type = config.option("filament_type")->values.at(filament_id); std::vector filament_map = get_real_filament_maps(config); int extruder_idx = filament_map[filament_id] - 1; - std::string filament_types_str = config.option("unprintable_filament_types")->values.at(extruder_idx); + std::string filament_types_str; + auto unprintable_filament_types = config.option("unprintable_filament_types")->values; + if (extruder_idx < unprintable_filament_types.size()) + filament_types_str = unprintable_filament_types.at(extruder_idx); std::vector filament_types = split_string(filament_types_str, ','); auto iter = std::find(filament_types.begin(), filament_types.end(), filament_type); if (iter != filament_types.end()) {