Use a lighter touch keeping internal data structures in sync.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17493

(cherry picked from commit d0df8df7c7)
This commit is contained in:
Jeff Young 2024-03-20 21:35:20 +00:00
parent 9f1d1fc45e
commit 743759578d
1 changed files with 9 additions and 3 deletions

View File

@ -656,15 +656,21 @@ void PAD::SetAttribute( PAD_ATTRIB aAttribute )
switch( aAttribute )
{
case PAD_ATTRIB::PTH:
m_layerMask = PAD::PTHMask();
m_layerMask |= LSET::AllCuMask();
break;
case PAD_ATTRIB::SMD:
case PAD_ATTRIB::CONN:
if( m_layerMask.test( F_Cu ) )
m_layerMask = { F_Cu };
{
m_layerMask &= ~LSET::AllCuMask();
m_layerMask.set( F_Cu );
}
else
m_layerMask = { B_Cu };
{
m_layerMask &= ~LSET::AllCuMask();
m_layerMask.set( B_Cu );
}
m_drill = VECTOR2I( 0, 0 );
break;