From 10dfbf3ec62fc0bbf961ca9b54eaf33aad7ab757 Mon Sep 17 00:00:00 2001 From: "xin.zhang" Date: Mon, 6 Jan 2025 10:20:43 +0800 Subject: [PATCH] FIX: crash while change nozzle diameter several times jira: [STUDIO-9534] Change-Id: I7a3cec4aa43941fad6496e8943213bd353094082 --- src/slic3r/GUI/DeviceManager.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 3ba5aa485..2fd4fbab3 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -6126,9 +6126,16 @@ void MachineObject::update_printer_preset_name() BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " " << __LINE__ << " update printer preset name failed: "<< "printer_type: " << printer_type << "nozzle_diameter_str" << nozzle_diameter_str; } - for (auto iter = m_nozzle_filament_data.begin(); iter != m_nozzle_filament_data.end(); iter++) { + for (auto iter = m_nozzle_filament_data.begin(); iter != m_nozzle_filament_data.end();) + { if (diameter_set.find(iter->first) == diameter_set.end()) + { iter = m_nozzle_filament_data.erase(iter); + } + else + { + ++iter; + } } }