MODULE* PCB_BASE_FRAME::loadFootprint( const FPID& aFootprintId ) throw( IO_ERROR, PARSE_ERROR ) { FP_LIB_TABLE* fptbl = Prj().PcbFootprintLibs(); wxCHECK_MSG( fptbl, NULL, wxT( "Cannot look up FPID in NULL FP_LIB_TABLE." ) ); return fptbl->FootprintLoadWithOptionalNickname( aFootprintId ); }
MODULE* PCB_BASE_FRAME::loadFootprint( const FPID& aFootprintId ) throw( IO_ERROR, PARSE_ERROR, boost::interprocess::lock_exception ) { FP_LIB_TABLE* fptbl = Prj().PcbFootprintLibs(); wxCHECK_MSG( fptbl, NULL, wxT( "Cannot look up FPID in NULL FP_LIB_TABLE." ) ); MODULE* module = fptbl->FootprintLoadWithOptionalNickname( aFootprintId ); // If the module is found, clear all net info, // to be sure there is no broken links // to any netinfo list (should be not needed, but it can be edited from // the footprint editor ) if( module ) module->ClearAllNets(); return module; }