diff --git a/xs/src/libslic3r/Print.cpp b/xs/src/libslic3r/Print.cpp index c1fe435a8..d413806f9 100644 --- a/xs/src/libslic3r/Print.cpp +++ b/xs/src/libslic3r/Print.cpp @@ -288,7 +288,7 @@ Print::invalidate_step(PrintStep step) // propagate to dependent steps if (step == psSkirt) { - this->invalidate_step(psBrim); + invalidated |= this->invalidate_step(psBrim); } return invalidated; diff --git a/xs/src/libslic3r/PrintObject.cpp b/xs/src/libslic3r/PrintObject.cpp index 8c8e76b09..9f93a1da1 100644 --- a/xs/src/libslic3r/PrintObject.cpp +++ b/xs/src/libslic3r/PrintObject.cpp @@ -288,25 +288,25 @@ PrintObject::invalidate_step(PrintObjectStep step) // propagate to dependent steps if (step == posPerimeters) { - this->invalidate_step(posPrepareInfill); - this->_print->invalidate_step(psSkirt); - this->_print->invalidate_step(psBrim); + invalidated |= this->invalidate_step(posPrepareInfill); + invalidated |= this->_print->invalidate_step(psSkirt); + invalidated |= this->_print->invalidate_step(psBrim); } else if (step == posDetectSurfaces) { - this->invalidate_step(posPrepareInfill); + invalidated |= this->invalidate_step(posPrepareInfill); } else if (step == posPrepareInfill) { - this->invalidate_step(posInfill); + invalidated |= this->invalidate_step(posInfill); } else if (step == posInfill) { - this->_print->invalidate_step(psSkirt); - this->_print->invalidate_step(psBrim); + invalidated |= this->_print->invalidate_step(psSkirt); + invalidated |= this->_print->invalidate_step(psBrim); } else if (step == posSlice) { - this->invalidate_step(posPerimeters); - this->invalidate_step(posDetectSurfaces); - this->invalidate_step(posSupportMaterial); + invalidated |= this->invalidate_step(posPerimeters); + invalidated |= this->invalidate_step(posDetectSurfaces); + invalidated |= this->invalidate_step(posSupportMaterial); }else if (step == posLayers) { - this->invalidate_step(posSlice); + invalidated |= this->invalidate_step(posSlice); } else if (step == posSupportMaterial) { - this->_print->invalidate_step(psSkirt); - this->_print->invalidate_step(psBrim); + invalidated |= this->_print->invalidate_step(psSkirt); + invalidated |= this->_print->invalidate_step(psBrim); } return invalidated;