From 25036cc5cdc500e88ef0bf8e2b405248f4ae342a Mon Sep 17 00:00:00 2001 From: Jon Evans Date: Mon, 30 Dec 2024 11:35:55 -0500 Subject: [PATCH] Set padstack earlier in via properties dialog Need to override specific padstack properties after setting the whole thing --- pcbnew/dialogs/dialog_track_via_properties.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/pcbnew/dialogs/dialog_track_via_properties.cpp b/pcbnew/dialogs/dialog_track_via_properties.cpp index e68cbce9fa..bc98620cb6 100644 --- a/pcbnew/dialogs/dialog_track_via_properties.cpp +++ b/pcbnew/dialogs/dialog_track_via_properties.cpp @@ -691,11 +691,13 @@ bool DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow() if( m_viaNotFree->Get3StateValue() != wxCHK_UNDETERMINED ) v->SetIsFree( !m_viaNotFree->GetValue() ); + if( !m_viaDiameter.IsIndeterminate() ) + v->SetPadstack( *m_viaStack ); + switch( m_ViaTypeChoice->GetSelection() ) { case 0: v->SetViaType( VIATYPE::THROUGH ); - v->SanitizeLayers(); break; case 1: v->SetViaType( VIATYPE::MICROVIA ); @@ -710,18 +712,20 @@ bool DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow() PCB_LAYER_ID startLayer = static_cast( m_ViaStartLayer->GetLayerSelection() ); PCB_LAYER_ID endLayer = static_cast( m_ViaEndLayer->GetLayerSelection() ); - if (startLayer != UNDEFINED_LAYER ) + if( startLayer != UNDEFINED_LAYER ) { m_viaStack->Drill().start = startLayer; v->SetTopLayer( startLayer ); } - if (endLayer != UNDEFINED_LAYER ) + if( endLayer != UNDEFINED_LAYER ) { m_viaStack->Drill().end = endLayer; v->SetBottomLayer( endLayer ); } + v->SanitizeLayers(); + switch( m_annularRingsCtrl->GetSelection() ) { case 0: @@ -740,11 +744,6 @@ bool DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow() break; } - if( !m_viaDiameter.IsIndeterminate() ) - v->SetPadstack( *m_viaStack ); - - v->SanitizeLayers(); - switch( m_tentingFrontCtrl->GetSelection() ) { default: