Keep internal data consistent when changing pad type.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17493
(cherry picked from commit 859f553c91
)
This commit is contained in:
parent
fe26628113
commit
c0a608bfdd
|
@ -648,11 +648,33 @@ const BOX2I PAD::GetBoundingBox() const
|
||||||
|
|
||||||
|
|
||||||
void PAD::SetAttribute( PAD_ATTRIB aAttribute )
|
void PAD::SetAttribute( PAD_ATTRIB aAttribute )
|
||||||
|
{
|
||||||
|
if( m_attribute != aAttribute )
|
||||||
{
|
{
|
||||||
m_attribute = aAttribute;
|
m_attribute = aAttribute;
|
||||||
|
|
||||||
if( aAttribute == PAD_ATTRIB::SMD )
|
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 };
|
||||||
|
|
||||||
m_drill = VECTOR2I( 0, 0 );
|
m_drill = VECTOR2I( 0, 0 );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PAD_ATTRIB::NPTH:
|
||||||
|
m_number = wxEmptyString;
|
||||||
|
SetNetCode( NETINFO_LIST::UNCONNECTED );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
SetDirty();
|
SetDirty();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue