From 3215eb3639a127fe8feca15a29b3ad75507ca0a4 Mon Sep 17 00:00:00 2001 From: "jiangkai.zhao" Date: Thu, 20 Mar 2025 10:16:41 +0800 Subject: [PATCH] Fix: crash by single_extruder's printable_height jira: none Change-Id: I2604693323236b48050560911e3a579c9918664d --- src/libslic3r/GCode/WipeTower.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/GCode/WipeTower.cpp b/src/libslic3r/GCode/WipeTower.cpp index b0d90ebcb..88d533994 100644 --- a/src/libslic3r/GCode/WipeTower.cpp +++ b/src/libslic3r/GCode/WipeTower.cpp @@ -4494,8 +4494,11 @@ bool WipeTower::need_thick_bridge_flow(float pos_y) const { bool WipeTower::is_valid_last_layer(int tool) const { - int nozzle_id = m_filament_map[tool]-1; - if (tool >= 0 && tool < m_filament_map.size() && m_last_layer_id[nozzle_id]==m_cur_layer_id && m_z_pos > m_printable_height[nozzle_id]) return false; + int nozzle_id = -1; + if (tool >= 0 && tool < m_filament_map.size()) + nozzle_id = m_filament_map[tool]-1; + if (nozzle_id < 0 || nozzle_id >= m_printable_height.size()) return true; + if (m_last_layer_id[nozzle_id] == m_cur_layer_id && m_z_pos > m_printable_height[nozzle_id]) return false; return true; }