diff --git a/lib/Slic3r/Print/Object.pm b/lib/Slic3r/Print/Object.pm index 368a23406..300b8e361 100644 --- a/lib/Slic3r/Print/Object.pm +++ b/lib/Slic3r/Print/Object.pm @@ -156,7 +156,6 @@ sub prepare_infill { my ($self) = @_; return if $self->step_done(STEP_PREPARE_INFILL); - $self->set_step_started(STEP_PREPARE_INFILL); # This prepare_infill() is not really idempotent. # TODO: It should clear and regenerate fill_surfaces at every run @@ -164,6 +163,9 @@ sub prepare_infill { $self->invalidate_step(STEP_PERIMETERS); $self->make_perimeters; + # Do this after invalidating STEP_PERIMETERS because that would re-invalidate STEP_PREPARE_INFILL + $self->set_step_started(STEP_PREPARE_INFILL); + # prerequisites $self->detect_surfaces_type;