Fix some leaking objects identified by PVS Studio V773
(cherry picked from commit a7ebfc31f9
)
This commit is contained in:
parent
c875af48e7
commit
b2c99dd953
|
@ -217,7 +217,8 @@ std::vector<BOARD_ITEM*> DRAWING_TOOL::DrawSpecificationStackup( const wxPoint&
|
|||
std::vector<std::vector<PCB_TEXT*>> texts;
|
||||
|
||||
// Style : Header
|
||||
PCB_TEXT* headStyle = new PCB_TEXT( static_cast<FOOTPRINT*>( m_frame->GetModel() ) );
|
||||
std::unique_ptr<PCB_TEXT> headStyle =
|
||||
std::make_unique<PCB_TEXT>( static_cast<FOOTPRINT*>( m_frame->GetModel() ) );
|
||||
headStyle->SetLayer( Eco1_User );
|
||||
headStyle->SetTextSize( wxSize( Millimeter2iu( 1.5 ), Millimeter2iu( 1.5 ) ) );
|
||||
headStyle->SetTextThickness( Millimeter2iu( 0.3 ) );
|
||||
|
@ -228,7 +229,8 @@ std::vector<BOARD_ITEM*> DRAWING_TOOL::DrawSpecificationStackup( const wxPoint&
|
|||
headStyle->SetVertJustify( GR_TEXT_VJUSTIFY_TOP );
|
||||
|
||||
// Style : data
|
||||
PCB_TEXT* dataStyle = new PCB_TEXT( static_cast<FOOTPRINT*>( m_frame->GetModel() ) );
|
||||
std::unique_ptr<PCB_TEXT> dataStyle =
|
||||
std::make_unique<PCB_TEXT>( static_cast<FOOTPRINT*>( m_frame->GetModel() ) );
|
||||
dataStyle->SetLayer( Eco1_User );
|
||||
dataStyle->SetTextSize( wxSize( Millimeter2iu( 1.5 ), Millimeter2iu( 1.5 ) ) );
|
||||
dataStyle->SetTextThickness( Millimeter2iu( 0.1 ) );
|
||||
|
@ -382,7 +384,8 @@ std::vector<BOARD_ITEM*> DRAWING_TOOL::DrawBoardCharacteristics( const wxPoint&
|
|||
wxPoint cursorPos = aOrigin;
|
||||
|
||||
// Style : Section header
|
||||
PCB_TEXT* headStyle = new PCB_TEXT( static_cast<FOOTPRINT*>( m_frame->GetModel() ) );
|
||||
std::unique_ptr<PCB_TEXT> headStyle =
|
||||
std::make_unique<PCB_TEXT>( static_cast<FOOTPRINT*>( m_frame->GetModel() ) );
|
||||
headStyle->SetLayer( Eco1_User );
|
||||
headStyle->SetTextSize( wxSize( Millimeter2iu( 2.0 ), Millimeter2iu( 2.0 ) ) );
|
||||
headStyle->SetTextThickness( Millimeter2iu( 0.4 ) );
|
||||
|
@ -392,7 +395,8 @@ std::vector<BOARD_ITEM*> DRAWING_TOOL::DrawBoardCharacteristics( const wxPoint&
|
|||
headStyle->SetVertJustify( GR_TEXT_VJUSTIFY_TOP );
|
||||
|
||||
// Style : Data
|
||||
PCB_TEXT* dataStyle = new PCB_TEXT( static_cast<FOOTPRINT*>( m_frame->GetModel() ) );
|
||||
std::unique_ptr<PCB_TEXT> dataStyle =
|
||||
std::make_unique<PCB_TEXT>( static_cast<FOOTPRINT*>( m_frame->GetModel() ) );
|
||||
dataStyle->SetLayer( Eco1_User );
|
||||
dataStyle->SetTextSize( wxSize( Millimeter2iu( 1.5 ), Millimeter2iu( 1.5 ) ) );
|
||||
dataStyle->SetTextThickness( Millimeter2iu( 0.2 ) );
|
||||
|
|
|
@ -384,18 +384,16 @@ bool KICADPCB::parseRect( SEXPR::SEXPR* data )
|
|||
|
||||
bool KICADPCB::parsePolygon( SEXPR::SEXPR* data )
|
||||
{
|
||||
KICADCURVE* poly = new KICADCURVE();
|
||||
std::unique_ptr<KICADCURVE> poly = std::make_unique<KICADCURVE>();
|
||||
|
||||
if( !poly->Read( data, CURVE_POLYGON ) )
|
||||
{
|
||||
delete poly;
|
||||
return false;
|
||||
}
|
||||
|
||||
// reject any curves not on the Edge.Cuts layer
|
||||
if( poly->GetLayer() != LAYER_EDGE )
|
||||
{
|
||||
delete poly;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -418,7 +416,6 @@ bool KICADPCB::parsePolygon( SEXPR::SEXPR* data )
|
|||
seg->m_end = pts.front();
|
||||
m_curves.push_back( seg );
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue