Browse Source

Keep internal data consistent when changing pad type.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17493
newinvert
Jeff Young 2 years ago
parent
commit
859f553c91
  1. 28
      pcbnew/pad.cpp

28
pcbnew/pad.cpp

@ -645,10 +645,32 @@ const BOX2I PAD::GetBoundingBox() const
void PAD::SetAttribute( PAD_ATTRIB aAttribute )
{
m_attribute = aAttribute;
if( m_attribute != aAttribute )
{
m_attribute = aAttribute;
switch( aAttribute )
{
case PAD_ATTRIB::PTH:
m_layerMask = PAD::PTHMask();
break;
case PAD_ATTRIB::SMD:
case PAD_ATTRIB::CONN:
if( m_layerMask.test( F_Cu ) )
m_layerMask = { F_Cu };
else
m_layerMask = { B_Cu };
if( aAttribute == PAD_ATTRIB::SMD )
m_drill = VECTOR2I( 0, 0 );
m_drill = VECTOR2I( 0, 0 );
break;
case PAD_ATTRIB::NPTH:
m_number = wxEmptyString;
SetNetCode( NETINFO_LIST::UNCONNECTED );
break;
}
}
SetDirty();
}

Loading…
Cancel
Save