Cleanup: Use make_unique for the legacy plugin board deleter

This commit is contained in:
Marek Roszko 2021-05-30 20:56:44 -04:00
parent 65c7c77c3d
commit 5c543b62c5
1 changed files with 12 additions and 5 deletions

View File

@ -382,15 +382,22 @@ BOARD* LEGACY_PLUGIN::Load( const wxString& aFileName, BOARD* aAppendToMe,
init( aProperties );
m_board = aAppendToMe ? aAppendToMe : new BOARD();
std::unique_ptr<BOARD> boardDeleter;
if( aAppendToMe )
{
m_board = aAppendToMe;
}
else
{
boardDeleter = std::make_unique<BOARD>();
m_board = boardDeleter.get();
}
// Give the filename to the board if it's new
if( !aAppendToMe )
m_board->SetFileName( aFileName );
// delete on exception, iff I own m_board, according to aAppendToMe
std::unique_ptr<BOARD> deleter( aAppendToMe ? NULL : m_board );
FILE_LINE_READER reader( aFileName );
m_reader = &reader; // member function accessibility
@ -399,7 +406,7 @@ BOARD* LEGACY_PLUGIN::Load( const wxString& aFileName, BOARD* aAppendToMe,
loadAllSections( bool( aAppendToMe ) );
deleter.release();
(void)boardDeleter.release(); // give it up so we dont delete it on exit
return m_board;
}