PNS: Allow committing routes even when cursor moves beyond valid solution
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6651
This commit is contained in:
parent
1fc4523711
commit
3c87e67753
|
@ -530,9 +530,23 @@ bool DRAGGER::FixRoute()
|
||||||
|
|
||||||
if( node )
|
if( node )
|
||||||
{
|
{
|
||||||
// Collisions still prevent fixing unless "Allow DRC violations" is checked
|
// If collisions exist, we can fix in shove/smart mode because all tracks to be committed
|
||||||
|
// will be in valid positions (even if the current routing solution to the mouse cursor is
|
||||||
|
// invalid). In other modes, we can only commit if "Allow DRC violations" is enabled.
|
||||||
if( !m_dragStatus )
|
if( !m_dragStatus )
|
||||||
|
{
|
||||||
|
switch( m_currentMode )
|
||||||
|
{
|
||||||
|
case RM_Shove:
|
||||||
|
case RM_Smart:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RM_Walkaround:
|
||||||
|
default:
|
||||||
|
if( !Settings().CanViolateDRC() )
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Router()->CommitRouting( node );
|
Router()->CommitRouting( node );
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in New Issue