diff options
Diffstat (limited to 'xs/src/libslic3r/PrintObject.cpp')
-rw-r--r-- | xs/src/libslic3r/PrintObject.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/xs/src/libslic3r/PrintObject.cpp b/xs/src/libslic3r/PrintObject.cpp index ba0876a85..7ac165864 100644 --- a/xs/src/libslic3r/PrintObject.cpp +++ b/xs/src/libslic3r/PrintObject.cpp @@ -93,6 +93,7 @@ bool PrintObject::set_copies(const Points &points) bool invalidated = this->_print->invalidate_step(psSkirt); invalidated |= this->_print->invalidate_step(psBrim); + invalidated |= this->_print->invalidate_step(psWipeTower); return invalidated; } @@ -232,7 +233,10 @@ bool PrintObject::invalidate_state_by_config_options(const std::vector<t_config_ || opt_key == "perimeter_speed" || opt_key == "small_perimeter_speed" || opt_key == "solid_infill_speed" - || opt_key == "top_solid_infill_speed") { + || opt_key == "top_solid_infill_speed" + || opt_key == "wipe_into_infill" // when these these two are changed, we only need to invalidate the wipe tower, + || opt_key == "wipe_into_objects" // which we already did at the very beginning - nothing more to be done + ) { // these options only affect G-code export, so nothing to invalidate } else { // for legacy, if we can't handle this option let's invalidate all steps @@ -272,6 +276,8 @@ bool PrintObject::invalidate_step(PrintObjectStep step) } // Wipe tower depends on the ordering of extruders, which in turn depends on everything. + // It also decides about what the wipe_into_infill / wipe_into_object features will do, + // and that too depends on many of the settings. invalidated |= this->_print->invalidate_step(psWipeTower); return invalidated; } |