diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index eae115d59e..a889d28f48 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -881,11 +881,6 @@ bool PrintObject::invalidate_state_by_config_options( || opt_key == "support_material_speed" || opt_key == "support_material_interface_speed" || opt_key == "bridge_speed" - || opt_key == "enable_dynamic_overhang_speeds" - || opt_key == "overhang_speed_0" - || opt_key == "overhang_speed_1" - || opt_key == "overhang_speed_2" - || opt_key == "overhang_speed_3" || opt_key == "external_perimeter_speed" || opt_key == "small_perimeter_speed" || opt_key == "solid_infill_speed" @@ -898,6 +893,13 @@ bool PrintObject::invalidate_state_by_config_options( || opt_key == "perimeter_speed") { invalidated |= m_print->invalidate_step(psWipeTower); invalidated |= m_print->invalidate_step(psGCodeExport); + } else if ( + opt_key == "enable_dynamic_overhang_speeds" + || opt_key == "overhang_speed_0" + || opt_key == "overhang_speed_1" + || opt_key == "overhang_speed_2" + || opt_key == "overhang_speed_3") { + steps.emplace_back(posPerimeters); } else { // for legacy, if we can't handle this option let's invalidate all steps this->invalidate_all_steps();