Browse Source

Coverity fixes.

pull/18/head
Jeff Young 6 months ago
parent
commit
327cca9de5
  1. 6
      3d-viewer/3d_cache/3d_cache.cpp
  2. 2
      3d-viewer/3d_rendering/raytracing/create_scene.cpp
  3. 35
      common/embedded_files.cpp
  4. 7
      eeschema/dialogs/dialog_sim_model.cpp
  5. 8
      eeschema/eeschema_jobs_handler.cpp
  6. 2
      eeschema/files-io.cpp
  7. 2
      eeschema/netlist_exporters/netlist_exporter_spice.cpp
  8. 2
      eeschema/sch_commit.cpp
  9. 2
      eeschema/sch_edit_frame.cpp
  10. 2
      eeschema/sch_field.cpp
  11. 3
      eeschema/sch_pin.cpp
  12. 2
      eeschema/sch_symbol.cpp
  13. 2
      eeschema/sim/sim_lib_mgr.cpp
  14. 6
      eeschema/sim/sim_lib_mgr.h
  15. 22
      eeschema/sim/sim_model.cpp
  16. 2
      eeschema/sim/sim_model_ibis.cpp
  17. 2
      eeschema/sim/simulator_frame_ui.cpp
  18. 2
      eeschema/tools/ee_grid_helper.cpp
  19. 2
      eeschema/tools/sch_editor_control.cpp
  20. 3
      kicad/dialogs/panel_jobset.cpp
  21. 2
      pcbnew/board_commit.cpp
  22. 2
      pcbnew/dialogs/dialog_drc.cpp
  23. 2
      pcbnew/dialogs/dialog_footprint_checker.cpp
  24. 2
      pcbnew/exporters/export_idf.cpp
  25. 1
      pcbnew/router/router_tool.cpp

6
3d-viewer/3d_cache/3d_cache.cpp

@ -147,7 +147,7 @@ SCENEGRAPH* S3D_CACHE::load( const wxString& aModelFile, const wxString& aBasePa
if( aCachePtr )
*aCachePtr = nullptr;
wxString full3Dpath = m_FNResolver->ResolvePath( aModelFile, aBasePath, aEmbeddedFilesStack );
wxString full3Dpath = m_FNResolver->ResolvePath( aModelFile, aBasePath, std::move( aEmbeddedFilesStack ) );
if( full3Dpath.empty() )
{
@ -215,7 +215,7 @@ SCENEGRAPH* S3D_CACHE::load( const wxString& aModelFile, const wxString& aBasePa
SCENEGRAPH* S3D_CACHE::Load( const wxString& aModelFile, const wxString& aBasePath,
std::vector<const EMBEDDED_FILES*> aEmbeddedFilesStack )
{
return load( aModelFile, aBasePath, nullptr, aEmbeddedFilesStack );
return load( aModelFile, aBasePath, nullptr, std::move( aEmbeddedFilesStack ) );
}
@ -552,7 +552,7 @@ S3DMODEL* S3D_CACHE::GetModel( const wxString& aModelFileName, const wxString& a
std::vector<const EMBEDDED_FILES*> aEmbeddedFilesStack )
{
S3D_CACHE_ENTRY* cp = nullptr;
SCENEGRAPH* sp = load( aModelFileName, aBasePath, &cp, aEmbeddedFilesStack );
SCENEGRAPH* sp = load( aModelFileName, aBasePath, &cp, std::move( aEmbeddedFilesStack ) );
if( !sp )
return nullptr;

2
3d-viewer/3d_rendering/raytracing/create_scene.cpp

@ -1296,7 +1296,7 @@ void RENDER_3D_RAYTRACE_BASE::load3DModels( CONTAINER_3D& aDstContainer,
embeddedFilesStack.push_back( m_boardAdapter.GetBoard()->GetEmbeddedFiles() );
const S3DMODEL* modelPtr = cacheMgr->GetModel( model.m_Filename, footprintBasePath,
embeddedFilesStack );
std::move( embeddedFilesStack ) );
// only add it if the return is not NULL.
if( modelPtr )

35
common/embedded_files.cpp

@ -371,8 +371,10 @@ void EMBEDDED_FILES_PARSER::ParseEmbedded( EMBEDDED_FILES* aFiles )
switch( token )
{
case T_checksum:
if( !file )
Expecting( T_name );
NeedSYMBOLorNUMBER();
if( !IsSymbol( token ) )
@ -383,6 +385,9 @@ void EMBEDDED_FILES_PARSER::ParseEmbedded( EMBEDDED_FILES* aFiles )
break;
case T_data:
if( !file )
Expecting( T_name);
try
{
NeedBAR();
@ -419,7 +424,6 @@ void EMBEDDED_FILES_PARSER::ParseEmbedded( EMBEDDED_FILES* aFiles )
break;
case T_name:
if( file )
{
wxLogTrace( wxT( "KICAD_EMBED" ),
@ -435,30 +439,21 @@ void EMBEDDED_FILES_PARSER::ParseEmbedded( EMBEDDED_FILES* aFiles )
break;
case T_type:
if( !file )
Expecting( T_name );
token = NextTok();
switch( token )
{
case T_datasheet:
file->type = EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::DATASHEET;
break;
case T_font:
file->type = EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::FONT;
break;
case T_model:
file->type = EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::MODEL;
break;
case T_worksheet:
file->type = EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::WORKSHEET;
break;
case T_other:
file->type = EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::OTHER;
break;
default:
Expecting( "datasheet, font, model, worksheet or other" );
break;
case T_datasheet: file->type = EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::DATASHEET; break;
case T_font: file->type = EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::FONT; break;
case T_model: file->type = EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::MODEL; break;
case T_worksheet: file->type = EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::WORKSHEET; break;
case T_other: file->type = EMBEDDED_FILES::EMBEDDED_FILE::FILE_TYPE::OTHER; break;
default: Expecting( "datasheet, font, model, worksheet or other" ); break;
}
NeedRIGHT();
break;

7
eeschema/dialogs/dialog_sim_model.cpp

@ -343,8 +343,11 @@ bool DIALOG_SIM_MODEL<T>::TransferDataToWindow()
template <typename T>
bool DIALOG_SIM_MODEL<T>::TransferDataFromWindow()
{
m_pinAssignmentsGrid->CommitPendingChanges();
m_paramGrid->GetGrid()->CommitChangesFromEditor();
if( !m_pinAssignmentsGrid->CommitPendingChanges() )
return false;
if( !m_paramGrid->GetGrid()->CommitChangesFromEditor() )
return false;
if( !DIALOG_SIM_MODEL_BASE::TransferDataFromWindow() )
return false;

8
eeschema/eeschema_jobs_handler.cpp

@ -973,7 +973,13 @@ int EESCHEMA_JOBS_HANDLER::JobSymExportSvg( JOB* aJob )
if( !svgJob->m_outputDirectory.IsEmpty() && !wxDir::Exists( svgJob->m_outputDirectory ) )
{
wxFileName::Mkdir( svgJob->m_outputDirectory );
if( !wxFileName::Mkdir( svgJob->m_outputDirectory ) )
{
m_reporter->Report( wxString::Format( _( "Unable to create output directory '%s'." ) + wxS( "\n" ),
svgJob->m_outputDirectory ),
RPT_SEVERITY_ERROR );
return CLI::EXIT_CODES::ERR_UNKNOWN;
}
}
SCH_RENDER_SETTINGS renderSettings;

2
eeschema/files-io.cpp

@ -1026,7 +1026,7 @@ bool SCH_EDIT_FRAME::SaveProject( bool aSaveAs )
// File doesn't exist yet; true if we just imported something
updateFileHistory = true;
}
else if( screens.GetFirst()->GetFileFormatVersionAtLoad() < SEXPR_SCHEMATIC_FILE_VERSION )
else if( screens.GetFirst() && screens.GetFirst()->GetFileFormatVersionAtLoad() < SEXPR_SCHEMATIC_FILE_VERSION )
{
// Allow the user to save un-edited files in new format
}

2
eeschema/netlist_exporters/netlist_exporter_spice.cpp

@ -67,7 +67,7 @@ NETLIST_EXPORTER_SPICE::NETLIST_EXPORTER_SPICE( SCHEMATIC* aSchematic ) :
{
std::vector<EMBEDDED_FILES*> embeddedFilesStack;
embeddedFilesStack.push_back( aSchematic->GetEmbeddedFiles() );
m_libMgr.SetFilesStack( embeddedFilesStack );
m_libMgr.SetFilesStack( std::move( embeddedFilesStack ) );
}

2
eeschema/sch_commit.cpp

@ -237,6 +237,8 @@ void SCH_COMMIT::pushSchEdit( const wxString& aMessage, int aCommitFlags )
SCH_ITEM* schItem = dynamic_cast<SCH_ITEM*>( ent.m_item );
int changeType = ent.m_type & CHT_TYPE;
wxCHECK2( schItem, continue );
if( changeType == CHT_REMOVE && schItem->GetParentGroup() )
Modify( schItem->GetParentGroup()->AsEdaItem() );
}

2
eeschema/sch_edit_frame.cpp

@ -1629,7 +1629,7 @@ void SCH_EDIT_FRAME::RefreshOperatingPointDisplay()
embeddedFilesStack.push_back( m_schematic->GetEmbeddedFiles() );
embeddedFilesStack.push_back( symbol->GetEmbeddedFiles() );
simLibMgr.SetFilesStack( embeddedFilesStack );
simLibMgr.SetFilesStack( std::move( embeddedFilesStack ) );
SIM_MODEL& model = simLibMgr.CreateModel( &GetCurrentSheet(), *symbol, true, 0, devnull ).model;

2
eeschema/sch_field.cpp

@ -748,7 +748,7 @@ void SCH_FIELD::OnScintillaCharAdded( SCINTILLA_TRICKS* aScintillaTricks,
embeddedFilesStack.push_back( schematic->GetEmbeddedFiles() );
embeddedFilesStack.push_back( symbol->GetEmbeddedFiles() );
mgr.SetFilesStack( embeddedFilesStack );
mgr.SetFilesStack( std::move( embeddedFilesStack ) );
SIM_MODEL& model = mgr.CreateModel( &sheet, *symbol, true, 0, devnull ).model;

3
eeschema/sch_pin.cpp

@ -1206,11 +1206,10 @@ void SCH_PIN::GetMsgPanelInfo( EDA_DRAW_FRAME* aFrame, std::vector<MSG_PANEL_ITE
aList.emplace_back( _( "Pos X" ), aFrame->MessageTextFromValue( GetPosition().x, true ) );
aList.emplace_back( _( "Pos Y" ), aFrame->MessageTextFromValue( GetPosition().y, true ) );
}
else
else if( SCH_SYMBOL* schsymbol = dynamic_cast<SCH_SYMBOL*>( symbol ) )
{
SCH_EDIT_FRAME* schframe = dynamic_cast<SCH_EDIT_FRAME*>( aFrame );
SCH_SHEET_PATH* currentSheet = schframe ? &schframe->GetCurrentSheet() : nullptr;
SCH_SYMBOL* schsymbol = dynamic_cast<SCH_SYMBOL*>( symbol );
// Don't use GetShownText(); we want to see the variable references here
aList.emplace_back( symbol->GetRef( currentSheet ),

2
eeschema/sch_symbol.cpp

@ -1319,7 +1319,7 @@ bool SCH_SYMBOL::ResolveTextVar( const SCH_SHEET_PATH* aPath, wxString* token, i
if( m_part )
embeddedFilesStack.push_back( m_part->GetEmbeddedFiles() );
simLibMgr.SetFilesStack( embeddedFilesStack );
simLibMgr.SetFilesStack( std::move( embeddedFilesStack ) );
NULL_REPORTER devnull;
SIM_MODEL& model = simLibMgr.CreateModel( aPath, const_cast<SCH_SYMBOL&>( *this ),

2
eeschema/sim/sim_lib_mgr.cpp

@ -66,7 +66,7 @@ wxString SIM_LIB_MGR::ResolveLibraryPath( const wxString& aLibraryPath, REPORTER
for( const EMBEDDED_FILES* embeddedFiles : m_embeddedFilesStack )
embeddedFilesStack.push_back( embeddedFiles );
wxString expandedPath = resolver.ResolvePath( aLibraryPath, wxEmptyString, embeddedFilesStack );
wxString expandedPath = resolver.ResolvePath( aLibraryPath, wxEmptyString, std::move( embeddedFilesStack ) );
wxFileName fn( expandedPath );

6
eeschema/sim/sim_lib_mgr.h

@ -46,8 +46,10 @@ public:
void Clear();
void SetFilesStack( std::vector<EMBEDDED_FILES*> aFilesStack ) { m_embeddedFilesStack = aFilesStack; }
void SetFilesStack( std::vector<EMBEDDED_FILES*> aFilesStack )
{
m_embeddedFilesStack = std::move( aFilesStack );
}
void SetLibrary( const wxString& aLibraryPath, REPORTER& aReporter );

22
eeschema/sim/sim_model.cpp

@ -1233,15 +1233,15 @@ bool SIM_MODEL::InferSimModel( T& aSymbol, std::vector<SCH_FIELD>* aFields, bool
{
aModelParams->Printf( wxT( "%s=\"%s%s\"" ),
prefix.Left(1).Lower(),
valueMantissa,
std::move( valueMantissa ),
convertNotation( valueExponent ) );
}
else
{
aModelParams->Printf( wxT( "%s=\"%s.%s%s\"" ),
prefix.Left(1).Lower(),
valueMantissa,
valueFraction,
std::move( valueMantissa ),
std::move( valueFraction ),
convertNotation( valueExponent ) );
}
}
@ -1303,17 +1303,17 @@ bool SIM_MODEL::InferSimModel( T& aSymbol, std::vector<SCH_FIELD>* aFields, bool
if( valueMantissa.Contains( wxT( "." ) ) || valueFraction.IsEmpty() )
{
aModelParams->Printf( wxT( "%s=\"%s%s\" %s" ),
param,
valueMantissa,
std::move( param ),
std::move( valueMantissa ),
convertNotation( valueExponent ),
*aModelParams );
}
else
{
aModelParams->Printf( wxT( "%s=\"%s.%s%s\" %s" ),
param,
valueMantissa,
valueFraction,
std::move( param ),
std::move( valueMantissa ),
std::move( valueFraction ),
convertNotation( valueExponent ),
*aModelParams );
}
@ -1321,8 +1321,8 @@ bool SIM_MODEL::InferSimModel( T& aSymbol, std::vector<SCH_FIELD>* aFields, bool
else
{
aModelParams->Printf( wxT( "%s=\"%s\" %s" ),
param,
value,
std::move( param ),
std::move( value ),
*aModelParams );
}
}
@ -1691,7 +1691,7 @@ void SIM_MODEL::MigrateSimModel( T& aSymbol, const PROJECT* aProject )
embeddedFilesStack.push_back( aSymbol.GetEmbeddedFiles() );
libMgr.SetFilesStack( embeddedFilesStack );
libMgr.SetFilesStack( std::move( embeddedFilesStack ) );
// Pull out any following parameters from model name
model = model.BeforeFirst( ' ', &modelLineParams );

2
eeschema/sim/sim_model_ibis.cpp

@ -66,7 +66,7 @@ std::string SPICE_GENERATOR_IBIS::IbisDevice( const SPICE_ITEM& aItem, SCHEMATIC
std::vector<EMBEDDED_FILES*> embeddedFilesStack;
embeddedFilesStack.push_back( aSchematic->GetEmbeddedFiles() );
mgr.SetFilesStack( embeddedFilesStack );
mgr.SetFilesStack( std::move( embeddedFilesStack ) );
wxString path = mgr.ResolveLibraryPath( ibisLibFilename, reporter );

2
eeschema/sim/simulator_frame_ui.cpp

@ -1670,7 +1670,7 @@ void SIMULATOR_FRAME_UI::UpdateTunerValue( const SCH_SHEET_PATH& aSheetPath, con
embeddedFilesStack.push_back( m_schematicFrame->Schematic().GetEmbeddedFiles() );
embeddedFilesStack.push_back( symbol->GetEmbeddedFiles() );
mgr.SetFilesStack( embeddedFilesStack );
mgr.SetFilesStack( std::move( embeddedFilesStack ) );
SIM_MODEL& model = mgr.CreateModel( &aSheetPath, *symbol, true, 0, devnull ).model;

2
eeschema/tools/ee_grid_helper.cpp

@ -469,7 +469,7 @@ void EE_GRID_HELPER::computeAnchors( SCH_ITEM *aItem, const VECTOR2I &aRefPos, b
if( aIncludeText )
{
addAnchor( aItem->GetPosition(), SNAPPABLE | CORNER, aItem );
addAnchor( dynamic_cast<SCH_SHAPE*>( aItem )->GetEnd(), SNAPPABLE | CORNER, aItem );
addAnchor( static_cast<SCH_SHAPE*>( aItem )->GetEnd(), SNAPPABLE | CORNER, aItem );
}
break;

2
eeschema/tools/sch_editor_control.cpp

@ -589,7 +589,7 @@ int SCH_EDITOR_CONTROL::SimProbe( const TOOL_EVENT& aEvent )
embeddedFilesStack.push_back( m_frame->Schematic().GetEmbeddedFiles() );
embeddedFilesStack.push_back( symbol->GetEmbeddedFiles() );
mgr.SetFilesStack( embeddedFilesStack );
mgr.SetFilesStack( std::move( embeddedFilesStack ) );
SIM_MODEL& model = mgr.CreateModel( &sheet, *symbol, true, 0, reporter ).model;

3
kicad/dialogs/panel_jobset.cpp

@ -388,7 +388,8 @@ private:
JOBS_GRID_TRICKS::JOBS_GRID_TRICKS( PANEL_JOBSET* aParent, WX_GRID* aGrid ) :
GRID_TRICKS( aGrid ),
m_parent( aParent )
m_parent( aParent ),
m_doubleClickRow( -1 )
{
m_enableSingleClickEdit = false;
m_multiCellEditEnabled = false;

2
pcbnew/board_commit.cpp

@ -420,7 +420,7 @@ void BOARD_COMMIT::Push( const wxString& aMessage, int aCommitFlags )
case CHT_MODIFY:
{
BOARD_ITEM* boardItemCopy = dynamic_cast<BOARD_ITEM*>( ent.m_copy );
BOARD_ITEM* boardItemCopy = static_cast<BOARD_ITEM*>( ent.m_copy );
if( !( aCommitFlags & SKIP_UNDO ) )
{

2
pcbnew/dialogs/dialog_drc.cpp

@ -519,7 +519,7 @@ void DIALOG_DRC::OnDRCItemSelected( wxDataViewEvent& aEvent )
if( violationLayers.count() )
principalLayer = violationLayers.Seq().front();
else if( !(principalLayer <= UNDEFINED_LAYER ) )
else if( principalLayer >= 0 )
violationLayers.set( principalLayer );
WINDOW_THAWER thawer( m_frame );

2
pcbnew/dialogs/dialog_footprint_checker.cpp

@ -298,7 +298,7 @@ void DIALOG_FOOTPRINT_CHECKER::OnSelectItem( wxDataViewEvent& aEvent )
if( violationLayers.count() )
principalLayer = violationLayers.Seq().front();
else
else if( principalLayer >= 0 )
violationLayers.set( principalLayer );
WINDOW_THAWER thawer( m_frame );

2
pcbnew/exporters/export_idf.cpp

@ -441,7 +441,7 @@ static void idf_export_footprint( BOARD* aPcb, FOOTPRINT* aFootprint, IDF3_BOARD
embeddedFilesStack.push_back( aFootprint->GetEmbeddedFiles() );
embeddedFilesStack.push_back( aPcb->GetEmbeddedFiles() );
idfFile.Assign( resolver->ResolvePath( sM->m_Filename, footprintBasePath, embeddedFilesStack ) );
idfFile.Assign( resolver->ResolvePath( sM->m_Filename, footprintBasePath, std::move( embeddedFilesStack ) ) );
idfExt = idfFile.GetExt();
if( idfExt.Cmp( wxT( "idf" ) ) && idfExt.Cmp( wxT( "IDF" ) ) )

1
pcbnew/router/router_tool.cpp

@ -206,6 +206,7 @@ static const TOOL_ACTION ACT_SwitchCornerMode( TOOL_ACTION_ARGS()
ROUTER_TOOL::ROUTER_TOOL() :
TOOL_BASE( "pcbnew.InteractiveRouter" ),
m_lastTargetLayer( UNDEFINED_LAYER ),
m_originalActiveLayer( UNDEFINED_LAYER ),
m_inRouterTool( false )
{

Loading…
Cancel
Save