Fp editor, DIALOG_PAD_PROPERTIES: fix crash if no footprint loaded.

Fix also a incorrect pad stack for SMD pad in some cases.
This commit is contained in:
jean-pierre charras 2024-06-30 10:43:10 +02:00
parent cec378b70d
commit 30dd8224be
1 changed files with 3 additions and 2 deletions

View File

@ -572,9 +572,9 @@ void DIALOG_PAD_PROPERTIES::initValues()
PAD_TOOL* padTool = m_parent->GetToolManager()->GetTool<PAD_TOOL>(); PAD_TOOL* padTool = m_parent->GetToolManager()->GetTool<PAD_TOOL>();
m_padNumCtrl->SetValue( padTool->GetLastPadNumber() ); m_padNumCtrl->SetValue( padTool->GetLastPadNumber() );
if( m_isFpEditor ) if( m_isFpEditor && m_board->GetFirstFootprint() )
{ {
switch( m_board->Footprints()[0]->GetAttributes() ) switch( m_board->GetFirstFootprint()->GetAttributes() )
{ {
case FOOTPRINT_ATTR_T::FP_THROUGH_HOLE: case FOOTPRINT_ATTR_T::FP_THROUGH_HOLE:
m_previewPad->SetAttribute( PAD_ATTRIB::PTH ); m_previewPad->SetAttribute( PAD_ATTRIB::PTH );
@ -585,6 +585,7 @@ void DIALOG_PAD_PROPERTIES::initValues()
break; break;
case FOOTPRINT_ATTR_T::FP_SMD: case FOOTPRINT_ATTR_T::FP_SMD:
m_previewPad->SetLayerSet( PAD::SMDMask() );
m_previewPad->SetAttribute( PAD_ATTRIB::SMD ); m_previewPad->SetAttribute( PAD_ATTRIB::SMD );
break; break;
} }