Set VIATYPE setting via property type as well

This commit is contained in:
Mark Roszko
2025-07-06 11:17:41 -04:00
parent c29ca703c7
commit 907c424f5f
2 changed files with 9 additions and 12 deletions
+3 -11
View File
@@ -1348,27 +1348,19 @@ void PCB_VIA::SetTopLayer( PCB_LAYER_ID aLayer )
if( aLayer == Padstack().Drill().end )
return;
if( IsCopperLayerLowerThan( aLayer, Padstack().Drill().end ) )
{
std::swap( aLayer, Padstack().Drill().end );
}
Padstack().Drill().start = aLayer;
SanitizeLayers();
}
void PCB_VIA::SetBottomLayer( PCB_LAYER_ID aLayer )
{
// refuse invalid via
if( aLayer == Padstack().Drill().start || !IsCopperLayerLowerThan( aLayer, Padstack().Drill().start ) )
if( aLayer == Padstack().Drill().start )
return;
if( !IsCopperLayerLowerThan( aLayer, Padstack().Drill().start ) )
{
std::swap( aLayer, Padstack().Drill().start );
}
Padstack().Drill().end = aLayer;
SanitizeLayers();
}
+6 -1
View File
@@ -448,7 +448,12 @@ public:
bool HasValidLayerPair( int aCopperLayerCount );
VIATYPE GetViaType() const { return m_viaType; }
void SetViaType( VIATYPE aViaType ) { m_viaType = aViaType; }
void SetViaType( VIATYPE aViaType )
{
m_viaType = aViaType;
// If someone updates a VIA to TH, we want to kick out any non-outer layers
SanitizeLayers();
}
const PADSTACK& Padstack() const { return m_padStack; }
PADSTACK& Padstack() { return m_padStack; }