From f5185f69275e69070b7e40807ba9d2a85ebd96a3 Mon Sep 17 00:00:00 2001 From: Jon Evans Date: Sun, 6 Jun 2021 15:44:19 -0400 Subject: [PATCH] Revert part of the anti-churn change, it causes bad side-effects Further performance tuning could be useful but the part that remains helps the most when hugging in large designs --- pcbnew/router/pns_walkaround.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pcbnew/router/pns_walkaround.cpp b/pcbnew/router/pns_walkaround.cpp index f541817217..3fc6745337 100644 --- a/pcbnew/router/pns_walkaround.cpp +++ b/pcbnew/router/pns_walkaround.cpp @@ -81,11 +81,9 @@ WALKAROUND::WALKAROUND_STATUS WALKAROUND::singleStep( LINE& aPath, bool aWinding aPath.SetShape( path_walk ); // If the end of the line is inside an obstacle, additional walkaround iterations are not - // going to help. Also, if one walkaround step didn't produce a new last point, additional - // steps won't either. Exit now to prevent pegging the iteration limiter and causing lag. - if( initialLast == path_walk.CLastPoint() || - ( current_obs && current_obs->m_hull.PointInside( initialLast ) && - !current_obs->m_hull.PointOnEdge( initialLast ) ) ) + // going to help. Exit now to prevent pegging the iteration limiter and causing lag. + if( current_obs && current_obs->m_hull.PointInside( initialLast ) && + !current_obs->m_hull.PointOnEdge( initialLast ) ) { return ALMOST_DONE; }