Commit d1d1e2b5 authored by Wayne Stambaugh's avatar Wayne Stambaugh

Lots of Coverity scan error fixes.

parent bd5d4682
......@@ -5,7 +5,7 @@
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright (C) 1992-2015 KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
......@@ -83,6 +83,8 @@ S3D_MASTER::S3D_MASTER( EDA_ITEM* aParent ) :
m_use_modelfile_ambientIntensity = true;
m_use_modelfile_transparency = true;
m_use_modelfile_shininess = true;
m_loadTransparentObjects = true;
m_loadNonTransparentObjects = true;
}
......
......@@ -53,6 +53,10 @@ VRML2_MODEL_PARSER::VRML2_MODEL_PARSER( S3D_MASTER* aMaster ) :
S3D_MODEL_PARSER( aMaster )
{
m_model = NULL;
m_file = NULL;
m_Materials = NULL;
m_normalPerVertex = true;
colorPerVertex = true;
}
......
......@@ -81,6 +81,8 @@ LAYER_BOX_SELECTOR::LAYER_BOX_SELECTOR( wxWindow* parent, wxWindowID id,
{
if( choices != NULL )
ResyncBitmapOnly();
m_hotkeys = NULL;
}
......
......@@ -379,7 +379,7 @@ void FP_LIB_TABLE::Parse( FP_LIB_TABLE_LEXER* in ) throw( IO_ERROR, PARSE_ERROR
void FP_LIB_TABLE::Format( OUTPUTFORMATTER* out, int nestLevel ) const
throw( IO_ERROR )
throw( IO_ERROR, boost::interprocess::lock_exception )
{
out->Print( nestLevel, "(fp_lib_table\n" );
......
......@@ -1050,7 +1050,7 @@ const wxString PART_LIBS::CacheName( const wxString& aFullProjectFilename )
}
void PART_LIBS::LoadAllLibraries( PROJECT* aProject ) throw( IO_ERROR )
void PART_LIBS::LoadAllLibraries( PROJECT* aProject ) throw( IO_ERROR, boost::bad_pointer )
{
wxFileName fn;
wxString filename;
......
......@@ -152,7 +152,7 @@ public:
* loads all of the project's libraries into this container, which should
* be cleared before calling it.
*/
void LoadAllLibraries( PROJECT* aProject ) throw( IO_ERROR );
void LoadAllLibraries( PROJECT* aProject ) throw( IO_ERROR, boost::bad_pointer );
/**
* Function LibNamesAndPaths
......
......@@ -785,6 +785,8 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::setRowItem( int aFieldNdx, const SCH_FI
void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copySelectedFieldToPanel()
{
wxCHECK_RET( m_cmp != NULL, wxT( "Component pointer not initialized." ) );
unsigned fieldNdx = getSelectedFieldNdx();
if( fieldNdx >= m_FieldsBuf.size() ) // traps the -1 case too
......
This diff is collapsed.
......@@ -356,7 +356,8 @@ public:
* @param nestLevel is the indentation level to base all lines of the output.
* Actual indentation will be 2 spaces for each nestLevel.
*/
void Format( OUTPUTFORMATTER* out, int nestLevel ) const throw( IO_ERROR );
void Format( OUTPUTFORMATTER* out, int nestLevel ) const
throw( IO_ERROR, boost::interprocess::lock_exception );
/**
* Function GetLogicalLibs
......
......@@ -33,6 +33,7 @@
#include <vector>
#include <boost/interprocess/exceptions.hpp>
#include <draw_frame.h>
#include <base_struct.h>
......@@ -103,7 +104,7 @@ protected:
* occurs while reading footprint library files.
*/
MODULE* loadFootprint( const FPID& aFootprintId )
throw( IO_ERROR, PARSE_ERROR );
throw( IO_ERROR, PARSE_ERROR, boost::interprocess::lock_exception );
public:
PCB_BASE_FRAME( KIWAY* aKiway, wxWindow* aParent, FRAME_T aFrameType,
......
......@@ -35,7 +35,7 @@
using namespace NL_T;
void KICAD_NETLIST_READER::LoadNetlist() throw ( IO_ERROR, PARSE_ERROR )
void KICAD_NETLIST_READER::LoadNetlist() throw ( IO_ERROR, PARSE_ERROR, boost::bad_pointer )
{
m_parser->Parse();
......
......@@ -35,8 +35,7 @@
#include <netlist_reader.h>
void LEGACY_NETLIST_READER::LoadNetlist() throw ( IO_ERROR, PARSE_ERROR )
void LEGACY_NETLIST_READER::LoadNetlist() throw ( IO_ERROR, PARSE_ERROR, boost::bad_pointer )
{
int state = 0;
bool is_comment = false;
......
......@@ -323,7 +323,7 @@ MODULE* PCB_BASE_FRAME::LoadFootprint( const FPID& aFootprintId )
MODULE* PCB_BASE_FRAME::loadFootprint( const FPID& aFootprintId )
throw( IO_ERROR, PARSE_ERROR )
throw( IO_ERROR, PARSE_ERROR, boost::interprocess::lock_exception )
{
FP_LIB_TABLE* fptbl = Prj().PcbFootprintLibs();
......
......@@ -183,7 +183,7 @@ public:
* @throw IO_ERROR if a file IO error occurs.
* @throw PARSE_ERROR if an error occurs while parsing the file.
*/
virtual void LoadNetlist() throw ( IO_ERROR, PARSE_ERROR ) = 0;
virtual void LoadNetlist() throw( IO_ERROR, PARSE_ERROR, boost::bad_pointer ) = 0;
/**
* Function GetLineReader()
......@@ -277,7 +277,7 @@ public:
* @throw IO_ERROR if a file IO error occurs.
* @throw PARSE_ERROR if an error occurs while parsing the file.
*/
virtual void LoadNetlist() throw ( IO_ERROR, PARSE_ERROR );
virtual void LoadNetlist() throw ( IO_ERROR, PARSE_ERROR, boost::bad_pointer );
};
......@@ -392,7 +392,7 @@ public:
delete m_parser;
}
virtual void LoadNetlist() throw ( IO_ERROR, PARSE_ERROR );
virtual void LoadNetlist() throw ( IO_ERROR, PARSE_ERROR, boost::bad_pointer );
};
......
......@@ -168,7 +168,7 @@ bool PCB_PARSER::parseBool() throw( PARSE_ERROR )
}
wxPoint PCB_PARSER::parseXY() throw( PARSE_ERROR )
wxPoint PCB_PARSER::parseXY() throw( PARSE_ERROR, IO_ERROR )
{
if( CurTok() != T_LEFT )
NeedLEFT();
......@@ -200,7 +200,7 @@ void PCB_PARSER::parseXY( int* aX, int* aY ) throw( PARSE_ERROR )
}
void PCB_PARSER::parseEDA_TEXT( EDA_TEXT* aText ) throw( PARSE_ERROR )
void PCB_PARSER::parseEDA_TEXT( EDA_TEXT* aText ) throw( PARSE_ERROR, IO_ERROR )
{
wxCHECK_RET( CurTok() == T_effects,
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as EDA_TEXT." ) );
......
......@@ -172,7 +172,7 @@ class PCB_PARSER : public PCB_LEXER
* @throw PARSE_ERROR if the coordinate pair syntax is incorrect.
* @return A wxPoint object containing the coordinate pair.
*/
wxPoint parseXY() throw( PARSE_ERROR );
wxPoint parseXY() throw( PARSE_ERROR, IO_ERROR );
void parseXY( int* aX, int* aY ) throw( PARSE_ERROR );
......@@ -183,7 +183,7 @@ class PCB_PARSER : public PCB_LEXER
* @throw PARSE_ERROR if the text syntax is not valid.
* @param aText A point to the #EDA_TEXT object to save the parsed settings into.
*/
void parseEDA_TEXT( EDA_TEXT* aText ) throw( PARSE_ERROR );
void parseEDA_TEXT( EDA_TEXT* aText ) throw( PARSE_ERROR, IO_ERROR );
S3D_MASTER* parse3DModel() throw( PARSE_ERROR, IO_ERROR );
......@@ -227,7 +227,7 @@ class PCB_PARSER : public PCB_LEXER
return KiROUND( parseDouble( aExpected ) * IU_PER_MM );
}
inline int parseBoardUnits( PCB_KEYS_T::T aToken ) throw( PARSE_ERROR )
inline int parseBoardUnits( PCB_KEYS_T::T aToken ) throw( PARSE_ERROR, IO_ERROR )
{
return parseBoardUnits( GetTokenText( aToken ) );
}
......
......@@ -517,13 +517,16 @@ PNS_SHOVE::SHOVE_STATUS PNS_SHOVE::pushVia( PNS_VIA* aVia, const VECTOR2I& aForc
m_currentNode->Remove( aVia );
m_currentNode->Add ( pushedVia );
#ifdef DEBUG
m_logger.Log( aVia, 0, "obstacle-via" );
#endif
if( aVia->BelongsTo( m_currentNode ) )
delete aVia;
pushedVia->SetRank( aCurrentRank - 1 );
#ifdef DEBUG
m_logger.Log( aVia, 0, "obstacle-via" );
m_logger.Log( pushedVia, 1, "pushed-via" );
#endif
......
......@@ -255,7 +255,7 @@ void SPECCTRA_DB::readTIME( time_t* time_stamp ) throw( IO_ERROR )
}
void SPECCTRA_DB::LoadPCB( const wxString& filename ) throw( IO_ERROR )
void SPECCTRA_DB::LoadPCB( const wxString& filename ) throw( IO_ERROR, boost::bad_pointer )
{
FILE_LINE_READER reader( filename );
......@@ -274,7 +274,7 @@ void SPECCTRA_DB::LoadPCB( const wxString& filename ) throw( IO_ERROR )
}
void SPECCTRA_DB::LoadSESSION( const wxString& filename ) throw( IO_ERROR )
void SPECCTRA_DB::LoadSESSION( const wxString& filename ) throw( IO_ERROR, boost::bad_pointer )
{
FILE_LINE_READER reader( filename );
......@@ -1748,7 +1748,7 @@ void SPECCTRA_DB::doLAYER_RULE( LAYER_RULE* growth ) throw( IO_ERROR )
}
void SPECCTRA_DB::doPLACE( PLACE* growth ) throw( IO_ERROR )
void SPECCTRA_DB::doPLACE( PLACE* growth ) throw( IO_ERROR, boost::bad_pointer )
{
T tok = NextTok();
......
......@@ -3717,7 +3717,7 @@ class SPECCTRA_DB : public SPECCTRA_LEXER
void doLAYER_RULE( LAYER_RULE* growth ) throw( IO_ERROR );
void doCLASSES( CLASSES* growth ) throw( IO_ERROR );
void doGRID( GRID* growth ) throw( IO_ERROR );
void doPLACE( PLACE* growth ) throw( IO_ERROR );
void doPLACE( PLACE* growth ) throw( IO_ERROR, boost::bad_pointer );
void doCOMPONENT( COMPONENT* growth ) throw( IO_ERROR, boost::bad_pointer );
void doPLACEMENT( PLACEMENT* growth ) throw( IO_ERROR, boost::bad_pointer );
void doPROPERTIES( PROPERTIES* growth ) throw( IO_ERROR );
......@@ -3895,7 +3895,7 @@ public:
* @param filename The name of the dsn file to load.
* @throw IO_ERROR if there is a lexer or parser error.
*/
void LoadPCB( const wxString& filename ) throw( IO_ERROR );
void LoadPCB( const wxString& filename ) throw( IO_ERROR, boost::bad_pointer );
/**
* Function LoadSESSION
......@@ -3907,7 +3907,7 @@ public:
* @param filename The name of the dsn file to load.
* @throw IO_ERROR if there is a lexer or parser error.
*/
void LoadSESSION( const wxString& filename ) throw( IO_ERROR );
void LoadSESSION( const wxString& filename ) throw( IO_ERROR, boost::bad_pointer );
void ThrowIOError( const wxString& fmt, ... ) throw( IO_ERROR );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment