diff --git a/pcbnew/router/pns_line_placer.cpp b/pcbnew/router/pns_line_placer.cpp index 1d41a807ca..a2ed9cda44 100644 --- a/pcbnew/router/pns_line_placer.cpp +++ b/pcbnew/router/pns_line_placer.cpp @@ -654,8 +654,15 @@ bool LINE_PLACER::rhWalkOnly( const VECTOR2I& aP, LINE& aNewHead ) break; } - if( Settings().SmartPads() && !m_mouseTrailTracer.IsManuallyForced() ) + DIRECTION_45::CORNER_MODE cornerMode = Settings().GetCornerMode(); + + // Smart Pads is incompatible with 90-degree mode for now + if( Settings().SmartPads() + && ( cornerMode == DIRECTION_45::MITERED_45 || cornerMode == DIRECTION_45::ROUNDED_45 ) + && !m_mouseTrailTracer.IsManuallyForced() ) + { effort |= OPTIMIZER::SMART_PADS; + } if( m_placingVia && viaOk ) {