Update FPWatcher when saving canvas footprint.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16414
This commit is contained in:
Jeff Young 2023-12-31 11:25:38 +00:00
parent 965576f2c6
commit 71b9dd1fb4
1 changed files with 5 additions and 1 deletions

View File

@ -818,6 +818,10 @@ bool FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary( FOOTPRINT* aFootprint,
PROJECT_PCB::PcbFootprintLibs( &Prj() )->FootprintSave( aLibraryName, aFootprint ); PROJECT_PCB::PcbFootprintLibs( &Prj() )->FootprintSave( aLibraryName, aFootprint );
aFootprint->SetFPID( LIB_ID( aLibraryName, aFootprint->GetFPID().GetLibItemName() ) ); aFootprint->SetFPID( LIB_ID( aLibraryName, aFootprint->GetFPID().GetLibItemName() ) );
if( aFootprint == GetBoard()->GetFirstFootprint() )
setFPWatcher( aFootprint );
return true; return true;
} }
catch( const IO_ERROR& ioe ) catch( const IO_ERROR& ioe )
@ -1084,7 +1088,7 @@ bool FOOTPRINT_EDIT_FRAME::SaveFootprintAs( FOOTPRINT* aFootprint )
// So prompt the user if he try to add/replace a footprint in a legacy lib // So prompt the user if he try to add/replace a footprint in a legacy lib
const FP_LIB_TABLE_ROW* row = PROJECT_PCB::PcbFootprintLibs( &Prj() )->FindRow( newLib ); const FP_LIB_TABLE_ROW* row = PROJECT_PCB::PcbFootprintLibs( &Prj() )->FindRow( newLib );
wxString libPath = row->GetFullURI(); wxString libPath = row->GetFullURI();
PCB_IO_MGR::PCB_FILE_T piType = PCB_IO_MGR::GuessPluginTypeFromLibPath( libPath ); PCB_IO_MGR::PCB_FILE_T piType = PCB_IO_MGR::GuessPluginTypeFromLibPath( libPath );
if( piType == PCB_IO_MGR::LEGACY ) if( piType == PCB_IO_MGR::LEGACY )
{ {