From 20a42e3e2f9cdff63950f112039f514aaa24ef1f Mon Sep 17 00:00:00 2001 From: PavelMikus Date: Mon, 13 Jun 2022 13:01:23 +0200 Subject: [PATCH] Fix crash on painted seams - painting blocker close to enforced could cause points to be recognized as enforced and then marked as blocked, which could brake the middle enforced point selection --- src/libslic3r/GCode/SeamPlacer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libslic3r/GCode/SeamPlacer.cpp b/src/libslic3r/GCode/SeamPlacer.cpp index 2f67db5341..37e0c4b96b 100644 --- a/src/libslic3r/GCode/SeamPlacer.cpp +++ b/src/libslic3r/GCode/SeamPlacer.cpp @@ -497,12 +497,12 @@ void process_perimeter_polygon(const Polygon &orig_polygon, float z_coord, const if (global_model_info.is_enforced(position, SeamPlacer::enforcer_blocker_distance_tolerance)) { type = EnforcedBlockedSeamPoint::Enforced; - some_point_enforced = true; } if (global_model_info.is_blocked(position, SeamPlacer::enforcer_blocker_distance_tolerance)) { type = EnforcedBlockedSeamPoint::Blocked; } + some_point_enforced = some_point_enforced || type == EnforcedBlockedSeamPoint::Enforced; if (orig_point) { Vec3f pos_of_next = orig_polygon_points.empty() ? first : orig_polygon_points.front();