Add virtual constructors to some classes that should have them
This is more for safety from undefined deletion behavior than anything else (it also silences the Clang -Wnon-virtual-dtor warning).
This commit is contained in:
parent
e94f356ad5
commit
34e5b76c5f
|
@ -40,6 +40,10 @@ class CPROCEDURALGENERATOR
|
|||
public:
|
||||
CPROCEDURALGENERATOR();
|
||||
|
||||
virtual ~CPROCEDURALGENERATOR()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Generate - Generates a 3D vector based on the ray and
|
||||
* hit information depending on the implementation
|
||||
|
@ -62,6 +66,10 @@ public:
|
|||
CBOARDNORMAL() : CPROCEDURALGENERATOR() { m_scale = 1.0f; }
|
||||
CBOARDNORMAL( float aScale );
|
||||
|
||||
virtual ~CBOARDNORMAL()
|
||||
{
|
||||
}
|
||||
|
||||
// Imported from CPROCEDURALGENERATOR
|
||||
SFVEC3F Generate( const RAY &aRay,
|
||||
const HITINFO &aHitInfo ) const override;
|
||||
|
@ -81,6 +89,10 @@ public:
|
|||
|
||||
CCOPPERNORMAL( float aScale, const CPROCEDURALGENERATOR *aBoardNormalGenerator );
|
||||
|
||||
virtual ~CCOPPERNORMAL()
|
||||
{
|
||||
}
|
||||
|
||||
// Imported from CPROCEDURALGENERATOR
|
||||
SFVEC3F Generate( const RAY &aRay,
|
||||
const HITINFO &aHitInfo ) const override;
|
||||
|
@ -97,6 +109,10 @@ public:
|
|||
CSOLDERMASKNORMAL() : CPROCEDURALGENERATOR() { m_copper_normal_generator = NULL; }
|
||||
CSOLDERMASKNORMAL( const CPROCEDURALGENERATOR *aCopperNormalGenerator );
|
||||
|
||||
virtual ~CSOLDERMASKNORMAL()
|
||||
{
|
||||
}
|
||||
|
||||
// Imported from CPROCEDURALGENERATOR
|
||||
SFVEC3F Generate( const RAY &aRay,
|
||||
const HITINFO &aHitInfo ) const override;
|
||||
|
@ -116,6 +132,10 @@ public:
|
|||
|
||||
CPLASTICNORMAL( float aScale );
|
||||
|
||||
virtual ~CPLASTICNORMAL()
|
||||
{
|
||||
}
|
||||
|
||||
// Imported from CPROCEDURALGENERATOR
|
||||
SFVEC3F Generate( const RAY &aRay,
|
||||
const HITINFO &aHitInfo ) const override;
|
||||
|
@ -136,6 +156,10 @@ public:
|
|||
|
||||
CPLASTICSHINENORMAL( float aScale );
|
||||
|
||||
virtual ~CPLASTICSHINENORMAL()
|
||||
{
|
||||
}
|
||||
|
||||
// Imported from CPROCEDURALGENERATOR
|
||||
SFVEC3F Generate( const RAY &aRay,
|
||||
const HITINFO &aHitInfo ) const override;
|
||||
|
@ -155,6 +179,10 @@ public:
|
|||
|
||||
CMETALBRUSHEDNORMAL( float aScale );
|
||||
|
||||
virtual ~CMETALBRUSHEDNORMAL()
|
||||
{
|
||||
}
|
||||
|
||||
// Imported from CPROCEDURALGENERATOR
|
||||
SFVEC3F Generate( const RAY &aRay,
|
||||
const HITINFO &aHitInfo ) const override;
|
||||
|
|
|
@ -89,6 +89,10 @@ class CCAMERA
|
|||
*/
|
||||
explicit CCAMERA( float aRangeScale );
|
||||
|
||||
virtual ~CCAMERA()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Function GetRotationMatrix
|
||||
|
|
|
@ -40,6 +40,10 @@ class CTRACK_BALL : public CCAMERA
|
|||
|
||||
explicit CTRACK_BALL( float aRangeScale );
|
||||
|
||||
virtual ~CTRACK_BALL()
|
||||
{
|
||||
}
|
||||
|
||||
void Drag( const wxPoint &aNewMousePosition ) override;
|
||||
|
||||
void Pan( const wxPoint &aNewMousePosition ) override;
|
||||
|
|
|
@ -233,6 +233,10 @@ public:
|
|||
RESCUER( PROJECT& aProject, SCH_SHEET_PATH* aCurrentSheet,
|
||||
EDA_DRAW_PANEL_GAL::GAL_TYPE aGalBackeEndType );
|
||||
|
||||
virtual ~RESCUER()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Writes out the rescue library. Called after successful PerformAction()s. If this fails,
|
||||
* undo the actions.
|
||||
|
@ -316,6 +320,10 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
virtual ~LEGACY_RESCUER()
|
||||
{
|
||||
}
|
||||
|
||||
virtual void FindCandidates() override;
|
||||
|
||||
virtual void InvokeDialog( wxWindow* aParent, bool aAskShowAgain ) override;
|
||||
|
@ -339,6 +347,10 @@ public:
|
|||
SYMBOL_LIB_TABLE_RESCUER( PROJECT& aProject, SCH_SHEET_PATH* aCurrentSheet,
|
||||
EDA_DRAW_PANEL_GAL::GAL_TYPE aGalBackeEndType );
|
||||
|
||||
virtual ~SYMBOL_LIB_TABLE_RESCUER()
|
||||
{
|
||||
}
|
||||
|
||||
virtual void FindCandidates() override;
|
||||
|
||||
virtual void InvokeDialog( wxWindow* aParent, bool aAskShowAgain ) override;
|
||||
|
|
|
@ -49,6 +49,10 @@ struct BOARD_PRINTOUT_SETTINGS : public PRINTOUT_SETTINGS
|
|||
{
|
||||
BOARD_PRINTOUT_SETTINGS( const PAGE_INFO& aPageInfo );
|
||||
|
||||
virtual ~BOARD_PRINTOUT_SETTINGS()
|
||||
{
|
||||
}
|
||||
|
||||
LSET m_layerSet; ///< Layers to print
|
||||
bool m_mirror; ///< Print mirrored
|
||||
|
||||
|
|
|
@ -39,6 +39,10 @@
|
|||
class APIEXPORT LIB_TREE_ITEM
|
||||
{
|
||||
public:
|
||||
virtual ~LIB_TREE_ITEM()
|
||||
{
|
||||
}
|
||||
|
||||
virtual LIB_ID GetLibId() const = 0;
|
||||
|
||||
virtual wxString GetName() const = 0;
|
||||
|
|
|
@ -58,6 +58,10 @@ public:
|
|||
|
||||
///> Called when the polygon is complete
|
||||
virtual void OnComplete( const POLYGON_GEOM_MANAGER& aMgr ) = 0;
|
||||
|
||||
virtual ~CLIENT()
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -38,6 +38,10 @@ struct PRINTOUT_SETTINGS
|
|||
m_pageCount = 0;
|
||||
}
|
||||
|
||||
virtual ~PRINTOUT_SETTINGS()
|
||||
{
|
||||
}
|
||||
|
||||
virtual void Save( wxConfigBase* aConfig );
|
||||
virtual void Load( wxConfigBase* aConfig );
|
||||
|
||||
|
|
|
@ -74,7 +74,7 @@ public:
|
|||
};
|
||||
|
||||
PROJECT();
|
||||
~PROJECT();
|
||||
VTBL_ENTRY ~PROJECT();
|
||||
|
||||
//-----<Cross Module API>----------------------------------------------------
|
||||
|
||||
|
|
|
@ -134,6 +134,10 @@ public:
|
|||
* Returns true if the reporter client is non-empty.
|
||||
*/
|
||||
virtual bool HasMessage() const = 0;
|
||||
|
||||
virtual ~REPORTER()
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
@ -152,6 +156,10 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
virtual ~WX_TEXT_CTRL_REPORTER()
|
||||
{
|
||||
}
|
||||
|
||||
REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED ) override;
|
||||
|
||||
bool HasMessage() const override;
|
||||
|
@ -173,6 +181,10 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
virtual ~WX_STRING_REPORTER()
|
||||
{
|
||||
}
|
||||
|
||||
REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED ) override;
|
||||
|
||||
bool HasMessage() const override;
|
||||
|
@ -194,6 +206,10 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
virtual ~WX_HTML_PANEL_REPORTER()
|
||||
{
|
||||
}
|
||||
|
||||
REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED ) override;
|
||||
|
||||
REPORTER& ReportTail( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED ) override;
|
||||
|
@ -216,6 +232,10 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
virtual ~NULL_REPORTER()
|
||||
{
|
||||
}
|
||||
|
||||
static REPORTER& GetInstance();
|
||||
|
||||
REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED ) override;
|
||||
|
@ -235,6 +255,10 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
virtual ~STDOUT_REPORTER()
|
||||
{
|
||||
}
|
||||
|
||||
static REPORTER& GetInstance();
|
||||
|
||||
REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED ) override;
|
||||
|
|
|
@ -43,6 +43,10 @@ protected:
|
|||
public:
|
||||
LAYER_SELECTOR();
|
||||
|
||||
virtual ~LAYER_SELECTOR()
|
||||
{
|
||||
}
|
||||
|
||||
// Returns a color index from the layer id
|
||||
// Virtual function because GerbView uses its own functions in a derived class
|
||||
virtual COLOR4D GetLayerColor( LAYER_NUM aLayer ) const = 0;
|
||||
|
|
|
@ -44,6 +44,10 @@ class PROGRESS_REPORTER
|
|||
PROGRESS_REPORTER( int aNumPhases );
|
||||
PROGRESS_REPORTER( const PROGRESS_REPORTER& ) = delete;
|
||||
|
||||
virtual ~PROGRESS_REPORTER()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* initialize the aPhase virtual zone of the dialog progress bar
|
||||
*/
|
||||
|
|
|
@ -53,7 +53,11 @@ namespace PCAD2KICAD
|
|||
class PCB_CALLBACKS
|
||||
{
|
||||
public:
|
||||
virtual PCB_LAYER_ID GetKiCadLayer( int aPCadLayer ) = 0;
|
||||
virtual ~PCB_CALLBACKS()
|
||||
{
|
||||
}
|
||||
|
||||
virtual PCB_LAYER_ID GetKiCadLayer( int aPCadLayer ) = 0;
|
||||
virtual LAYER_TYPE_T GetLayerType( int aPCadLayer ) = 0;
|
||||
virtual wxString GetLayerNetNameRef( int aPCadLayer ) = 0;
|
||||
virtual int GetNewTimestamp() = 0;
|
||||
|
|
|
@ -210,6 +210,10 @@ struct NODE::DEFAULT_OBSTACLE_VISITOR : public OBSTACLE_VISITOR
|
|||
}
|
||||
}
|
||||
|
||||
virtual ~DEFAULT_OBSTACLE_VISITOR()
|
||||
{
|
||||
}
|
||||
|
||||
void SetCountLimit( int aLimit )
|
||||
{
|
||||
m_limitCount = aLimit;
|
||||
|
@ -483,6 +487,10 @@ struct HIT_VISITOR : public OBSTACLE_VISITOR
|
|||
m_items( aTab ), m_point( aPoint )
|
||||
{}
|
||||
|
||||
virtual ~HIT_VISITOR()
|
||||
{
|
||||
}
|
||||
|
||||
bool operator()( ITEM* aItem ) override
|
||||
{
|
||||
SHAPE_CIRCLE cp( m_point, 0 );
|
||||
|
|
|
@ -104,6 +104,10 @@ public:
|
|||
|
||||
OBSTACLE_VISITOR( const ITEM* aItem );
|
||||
|
||||
virtual ~OBSTACLE_VISITOR()
|
||||
{
|
||||
}
|
||||
|
||||
void SetWorld( const NODE* aNode, const NODE* aOverride = NULL );
|
||||
|
||||
virtual bool operator()( ITEM* aCandidate ) = 0;
|
||||
|
|
|
@ -1593,6 +1593,10 @@ int DRAWING_TOOL::DrawVia( const TOOL_EVENT& aEvent )
|
|||
VIA_PLACER( PCB_BASE_EDIT_FRAME* aFrame ) : m_gridHelper( aFrame )
|
||||
{}
|
||||
|
||||
virtual ~VIA_PLACER()
|
||||
{
|
||||
}
|
||||
|
||||
TRACK* findTrack( VIA* aVia )
|
||||
{
|
||||
const LSET lset = aVia->GetLayerSet();
|
||||
|
|
|
@ -290,6 +290,10 @@ int MODULE_EDITOR_TOOLS::PlacePad( const TOOL_EVENT& aEvent )
|
|||
|
||||
struct PAD_PLACER : public INTERACTIVE_PLACER_BASE
|
||||
{
|
||||
virtual ~PAD_PLACER()
|
||||
{
|
||||
}
|
||||
|
||||
std::unique_ptr<BOARD_ITEM> CreateItem() override
|
||||
{
|
||||
D_PAD* pad = new D_PAD( m_board->GetFirstModule() );
|
||||
|
|
|
@ -65,6 +65,10 @@ int MICROWAVE_TOOL::addMicrowaveFootprint( const TOOL_EVENT& aEvent )
|
|||
m_itemType( aType )
|
||||
{ };
|
||||
|
||||
virtual ~MICROWAVE_PLACER()
|
||||
{
|
||||
}
|
||||
|
||||
std::unique_ptr<BOARD_ITEM> CreateItem() override
|
||||
{
|
||||
switch( m_itemType )
|
||||
|
|
|
@ -51,6 +51,10 @@ class PCBNEW_SELECTION;
|
|||
|
||||
struct INTERACTIVE_PLACER_BASE
|
||||
{
|
||||
virtual ~INTERACTIVE_PLACER_BASE()
|
||||
{
|
||||
}
|
||||
|
||||
virtual std::unique_ptr<BOARD_ITEM> CreateItem() = 0;
|
||||
virtual void SnapItem( BOARD_ITEM *aItem );
|
||||
virtual bool PlaceItem( BOARD_ITEM *aItem, BOARD_COMMIT& aCommit );
|
||||
|
@ -70,7 +74,7 @@ public:
|
|||
* Creates a tool with given id & name. The name must be unique. */
|
||||
PCB_TOOL_BASE( TOOL_ID aId, const std::string& aName ) :
|
||||
TOOL_INTERACTIVE ( aId, aName ),
|
||||
m_editModules( false )
|
||||
m_editModules( false )
|
||||
{};
|
||||
|
||||
/**
|
||||
|
@ -79,7 +83,7 @@ public:
|
|||
* Creates a tool with given name. The name must be unique. */
|
||||
PCB_TOOL_BASE( const std::string& aName ) :
|
||||
TOOL_INTERACTIVE ( aName ),
|
||||
m_editModules( false )
|
||||
m_editModules( false )
|
||||
{};
|
||||
|
||||
virtual ~PCB_TOOL_BASE() {};
|
||||
|
@ -133,28 +137,28 @@ protected:
|
|||
virtual void setTransitions() override;
|
||||
|
||||
|
||||
KIGFX::PCB_VIEW* view() const
|
||||
{
|
||||
return static_cast<KIGFX::PCB_VIEW*>( getView() );
|
||||
KIGFX::PCB_VIEW* view() const
|
||||
{
|
||||
return static_cast<KIGFX::PCB_VIEW*>( getView() );
|
||||
}
|
||||
|
||||
KIGFX::VIEW_CONTROLS* controls() const
|
||||
{
|
||||
return getViewControls();
|
||||
|
||||
KIGFX::VIEW_CONTROLS* controls() const
|
||||
{
|
||||
return getViewControls();
|
||||
}
|
||||
|
||||
PCB_BASE_EDIT_FRAME* frame() const
|
||||
{
|
||||
|
||||
PCB_BASE_EDIT_FRAME* frame() const
|
||||
{
|
||||
return getEditFrame<PCB_BASE_EDIT_FRAME>();
|
||||
}
|
||||
|
||||
|
||||
BOARD* board() const { return getModel<BOARD>(); }
|
||||
|
||||
|
||||
MODULE* module() const
|
||||
{
|
||||
return board()->GetFirstModule();
|
||||
}
|
||||
|
||||
|
||||
const PCB_DISPLAY_OPTIONS& displayOptions() const;
|
||||
PCB_DRAW_PANEL_GAL* canvas() const;
|
||||
const PCBNEW_SELECTION& selection() const;
|
||||
|
|
|
@ -71,7 +71,7 @@ public:
|
|||
*/
|
||||
ZONE_CREATE_HELPER( DRAWING_TOOL& aTool, PARAMS& aParams );
|
||||
|
||||
~ZONE_CREATE_HELPER();
|
||||
virtual ~ZONE_CREATE_HELPER();
|
||||
|
||||
/*
|
||||
* Interface for receiving POLYGON_GEOM_MANAGER update
|
||||
|
|
|
@ -64,6 +64,10 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
virtual ~DRC_RUNNER()
|
||||
{
|
||||
}
|
||||
|
||||
void Execute( BOARD& aBoard )
|
||||
{
|
||||
if( m_exec_context.m_verbose )
|
||||
|
@ -151,6 +155,10 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
virtual ~DRC_COURTYARD_OVERLAP_RUNNER()
|
||||
{
|
||||
}
|
||||
|
||||
private:
|
||||
std::string getRunnerIntro() const override
|
||||
{
|
||||
|
@ -184,6 +192,10 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
virtual ~DRC_COURTYARD_MISSING_RUNNER()
|
||||
{
|
||||
}
|
||||
|
||||
private:
|
||||
std::string getRunnerIntro() const override
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue