Browse Source

Don't assume existence of default FP text items.

revert-0c36e162
Jeff Young 7 months ago
parent
commit
f0ebf0a7cc
  1. 16
      pcbnew/footprint_libraries_utils.cpp
  2. 1
      pcbnew/tools/footprint_editor_control.cpp

16
pcbnew/footprint_libraries_utils.cpp

@ -1282,16 +1282,24 @@ FOOTPRINT* PCB_BASE_FRAME::CreateNewFootprint( wxString aFootprintName, const wx
VECTOR2I default_pos;
BOARD_DESIGN_SETTINGS& settings = GetDesignSettings();
footprint->Reference().SetText( settings.m_DefaultFPTextItems[0].m_Text );
footprint->Reference().SetVisible( settings.m_DefaultFPTextItems[0].m_Visible );
if( settings.m_DefaultFPTextItems.size() > 0 )
{
footprint->Reference().SetText( settings.m_DefaultFPTextItems[0].m_Text );
footprint->Reference().SetVisible( settings.m_DefaultFPTextItems[0].m_Visible );
}
txt_layer = settings.m_DefaultFPTextItems[0].m_Layer;
footprint->Reference().SetLayer( txt_layer );
default_pos.y -= settings.GetTextSize( txt_layer ).y / 2;
footprint->Reference().SetPosition( default_pos );
default_pos.y += settings.GetTextSize( txt_layer ).y;
footprint->Value().SetText( settings.m_DefaultFPTextItems[1].m_Text );
footprint->Value().SetVisible( settings.m_DefaultFPTextItems[1].m_Visible );
if( settings.m_DefaultFPTextItems.size() > 1 )
{
footprint->Value().SetText( settings.m_DefaultFPTextItems[1].m_Text );
footprint->Value().SetVisible( settings.m_DefaultFPTextItems[1].m_Visible );
}
txt_layer = settings.m_DefaultFPTextItems[1].m_Layer;
footprint->Value().SetLayer( txt_layer );
default_pos.y += settings.GetTextSize( txt_layer ).y / 2;

1
pcbnew/tools/footprint_editor_control.cpp

@ -229,6 +229,7 @@ int FOOTPRINT_EDITOR_CONTROL::NewFootprint( const TOOL_EVENT& aEvent )
tryToSaveFootprintInLibrary( *newFootprint, selected );
m_frame->UpdateView();
m_frame->GetCanvas()->ForceRefresh();
m_frame->Update3DView( true, true );
m_frame->SyncLibraryTree( false );

Loading…
Cancel
Save