From 62d835b4bbb0f1f046e30d9b67f8e9517cc6175c Mon Sep 17 00:00:00 2001 From: johanengelen Date: Sun, 4 Nov 2007 01:01:15 +0000 Subject: [PATCH] Add virtual to a lot of the destructors. Note: perhaps it will have to be reverted for some files to keep them C-compatible. --- src/2geom/path.h | 2 +- src/box3d-face.h | 2 +- src/color.h | 2 +- src/composite-undo-stack-observer.h | 2 +- src/conn-avoid-ref.h | 2 +- src/connection-pool.h | 17 ++++++++--------- src/console-output-undo-observer.h | 2 +- src/debug/event-tracker.h | 2 +- src/desktop.h | 2 +- src/display/canvas-axonomgrid.h | 2 +- src/display/canvas-grid.h | 2 +- src/display/nr-arena-shape.h | 2 +- src/display/nr-filter-slot.h | 2 +- src/display/nr-filter.h | 2 +- src/display/nr-light.h | 6 +++--- src/document.h | 6 +++--- src/dom/css.h | 6 +++--- src/dom/dom.h | 8 ++++---- src/dom/domimpl.h | 11 ++++++----- src/dom/events.h | 4 ++-- src/dom/io/domstream.h | 6 +++--- src/dom/js/jscntxt.h | 2 +- src/dom/xpathparser.h | 4 ++-- src/event-log.h | 2 +- src/event.h | 2 +- src/extension/dependency.h | 2 +- src/extension/dxf2svg/read_dxf.h | 19 ++++++++++--------- src/extension/execution-env.h | 2 +- src/extension/implementation/script.h | 2 +- src/extension/internal/cairo-render-context.h | 2 +- src/extension/internal/cairo-renderer.h | 2 +- src/extension/internal/pdfinput/pdf-parser.h | 4 ++-- src/extension/internal/pdfinput/svg-builder.h | 2 +- src/extension/paramcolor.h | 4 ++-- src/extension/paramenum.h | 2 +- src/extension/paramnotebook.h | 2 +- src/extension/paramradiobutton.h | 2 +- src/extension/paramstring.h | 2 +- src/extension/prefdialog.h | 2 +- src/extension/print.h | 2 +- src/extension/script/InkscapeScript.h | 2 +- src/extension/timer.h | 2 +- src/gradient-drag.h | 6 +++--- src/helper/unit-tracker.h | 2 +- src/io/inkscapestream.h | 6 +++--- src/io/xsltstream.h | 2 +- .../invitation-confirm-dialog.h | 2 +- src/jabber_whiteboard/message-aggregator.h | 2 +- src/jabber_whiteboard/message-node.h | 2 +- src/jabber_whiteboard/node-tracker.h | 2 +- src/jabber_whiteboard/session-file-selector.h | 2 +- src/jabber_whiteboard/tracker-node.h | 2 +- src/layer-manager.h | 2 +- src/libavoid/connector.h | 2 +- src/libavoid/graph.h | 2 +- src/libavoid/shape.h | 2 +- src/libcola/cola.h | 4 ++-- src/libcola/cycle_detector.h | 4 ++-- src/libcola/gradient_projection.h | 2 +- src/libcola/straightener.h | 4 ++-- src/libnrtype/FontFactory.h | 2 +- src/libnrtype/Layout-TNG-Scanline-Maker.h | 4 ++-- src/libnrtype/RasterFont.h | 2 +- src/libnrtype/TextWrapper.h | 2 +- src/libnrtype/font-instance.h | 2 +- src/libnrtype/font-lister.h | 2 +- src/libnrtype/raster-glyph.h | 2 +- src/libnrtype/raster-position.h | 2 +- src/libvpsc/block.h | 2 +- src/libvpsc/blocks.h | 2 +- src/libvpsc/constraint.h | 2 +- src/libvpsc/pairingheap/PairingHeap.h | 2 +- src/libvpsc/variable.h | 2 +- src/livarot/AVL.h | 2 +- src/livarot/AlphaLigne.h | 2 +- src/livarot/BitLigne.h | 2 +- src/livarot/MySeg.h | 2 +- src/livarot/Path.h | 2 +- src/livarot/Shape.h | 2 +- src/livarot/float-line.h | 2 +- src/livarot/int-line.h | 2 +- src/livarot/sweep-event-queue.h | 2 +- src/livarot/sweep-event.h | 2 +- src/livarot/sweep-tree-list.h | 2 +- src/livarot/sweep-tree.h | 2 +- src/live_effects/lpe-curvestitch.h | 2 +- src/live_effects/lpe-gears.h | 2 +- src/live_effects/lpe-pathalongpath.h | 2 +- src/live_effects/lpe-skeletalstrokes.h | 2 +- src/live_effects/lpe-skeleton.h | 10 +++++----- src/live_effects/lpe-slant.h | 2 +- src/live_effects/lpe-test-doEffect-stack.h | 10 +++++----- src/live_effects/lpeobject-reference.h | 2 +- src/live_effects/parameter/enum.h | 2 +- src/live_effects/parameter/path.h | 2 +- src/live_effects/parameter/point.h | 2 +- src/main-cmdlineact.h | 2 +- 97 files changed, 149 insertions(+), 148 deletions(-) diff --git a/src/2geom/path.h b/src/2geom/path.h index f4897fecc..0695ed02c 100644 --- a/src/2geom/path.h +++ b/src/2geom/path.h @@ -451,7 +451,7 @@ public: insert(begin(), first, last); } - ~Path() { + virtual ~Path() { delete_range(curves_.begin(), curves_.end()-1); delete final_; } diff --git a/src/box3d-face.h b/src/box3d-face.h index 091a8108b..9281d458c 100644 --- a/src/box3d-face.h +++ b/src/box3d-face.h @@ -28,7 +28,7 @@ public: Box3DFace(SP3DBox *box, NR::Point &A, NR::Point &B, NR::Point &C, NR::Point &D, Box3D::Axis plane, Box3D::FrontOrRear rel_pos); Box3DFace(Box3DFace const &box3dface); - ~Box3DFace(); + virtual ~Box3DFace(); NR::Point operator[](unsigned int i); void draw(SP3DBox *box3d, SPCurve *c); diff --git a/src/color.h b/src/color.h index 4fcffad8e..8fcc94438 100644 --- a/src/color.h +++ b/src/color.h @@ -43,7 +43,7 @@ struct SPColor { SPColor( SPColor const& other ); SPColor( float r, float g, float b ); SPColor( guint32 value ); - ~SPColor(); + virtual ~SPColor(); SPColor& operator= (SPColor const& other); diff --git a/src/composite-undo-stack-observer.h b/src/composite-undo-stack-observer.h index e24561ace..cd00d4211 100644 --- a/src/composite-undo-stack-observer.h +++ b/src/composite-undo-stack-observer.h @@ -117,7 +117,7 @@ public: */ CompositeUndoStackObserver(); - ~CompositeUndoStackObserver(); + virtual ~CompositeUndoStackObserver(); /** * Add an UndoStackObserver. diff --git a/src/conn-avoid-ref.h b/src/conn-avoid-ref.h index 0ee6addc3..29c7e69b3 100644 --- a/src/conn-avoid-ref.h +++ b/src/conn-avoid-ref.h @@ -23,7 +23,7 @@ namespace Avoid { class SPAvoidRef { public: SPAvoidRef(SPItem *spitem); - ~SPAvoidRef(); + virtual ~SPAvoidRef(); // libavoid's internal representation of the item. Avoid::ShapeRef *shapeRef; diff --git a/src/connection-pool.h b/src/connection-pool.h index 7a14f57d8..67bcf0002 100644 --- a/src/connection-pool.h +++ b/src/connection-pool.h @@ -19,21 +19,20 @@ class ConnectionPool typedef std::map ConnectionMap; - ~ConnectionPool () + virtual ~ConnectionPool () { - for (ConnectionMap::iterator iter = map.begin (), end = map.end (); iter != end; ++iter) - { - sigc::connection* connection = (*iter).second; - connection->disconnect (); - delete connection; - } + for (ConnectionMap::iterator iter = map.begin (), end = map.end (); iter != end; ++iter) { + sigc::connection* connection = (*iter).second; + connection->disconnect (); + delete connection; + } } void add_connection (std::string name, sigc::connection* connection) { - if (map.find (name) != map.end ()) throw NAME_EXISTS; - map.insert (std::make_pair (name, connection)); + if (map.find (name) != map.end ()) throw NAME_EXISTS; + map.insert (std::make_pair (name, connection)); } void diff --git a/src/console-output-undo-observer.h b/src/console-output-undo-observer.h index b6fec7f32..9b42cf033 100644 --- a/src/console-output-undo-observer.h +++ b/src/console-output-undo-observer.h @@ -20,7 +20,7 @@ namespace Inkscape { class ConsoleOutputUndoObserver : public UndoStackObserver { public: ConsoleOutputUndoObserver() : UndoStackObserver() { } - ~ConsoleOutputUndoObserver() { } + virtual ~ConsoleOutputUndoObserver() { } void notifyUndoEvent(Event* log); void notifyRedoEvent(Event* log); diff --git a/src/debug/event-tracker.h b/src/debug/event-tracker.h index 362175f94..89180d8d4 100644 --- a/src/debug/event-tracker.h +++ b/src/debug/event-tracker.h @@ -24,7 +24,7 @@ template class EventTracker; class EventTrackerBase { public: - ~EventTrackerBase() { + virtual ~EventTrackerBase() { if (_active) { Logger::finish(); } diff --git a/src/desktop.h b/src/desktop.h index 2a811a723..bee0243d5 100644 --- a/src/desktop.h +++ b/src/desktop.h @@ -168,7 +168,7 @@ struct SPDesktop : public Inkscape::UI::View::View SPDesktop(); void init (SPNamedView* nv, SPCanvas* canvas); - ~SPDesktop(); + virtual ~SPDesktop(); void destroy(); Inkscape::MessageContext *guidesMessageContext() const { diff --git a/src/display/canvas-axonomgrid.h b/src/display/canvas-axonomgrid.h index 68c011d30..d099de492 100644 --- a/src/display/canvas-axonomgrid.h +++ b/src/display/canvas-axonomgrid.h @@ -34,7 +34,7 @@ namespace Inkscape { class CanvasAxonomGrid : public CanvasGrid { public: CanvasAxonomGrid(SPNamedView * nv, Inkscape::XML::Node * in_repr, SPDocument * in_doc); - ~CanvasAxonomGrid(); + virtual ~CanvasAxonomGrid(); void Update (NR::Matrix const &affine, unsigned int flags); void Render (SPCanvasBuf *buf); diff --git a/src/display/canvas-grid.h b/src/display/canvas-grid.h index ec5e52c90..3c19d39d8 100644 --- a/src/display/canvas-grid.h +++ b/src/display/canvas-grid.h @@ -112,7 +112,7 @@ private: class CanvasXYGrid : public CanvasGrid { public: CanvasXYGrid(SPNamedView * nv, Inkscape::XML::Node * in_repr, SPDocument * in_doc); - ~CanvasXYGrid(); + virtual ~CanvasXYGrid(); void Update (NR::Matrix const &affine, unsigned int flags); void Render (SPCanvasBuf *buf); diff --git a/src/display/nr-arena-shape.h b/src/display/nr-arena-shape.h index d36815a74..b371d2ede 100644 --- a/src/display/nr-arena-shape.h +++ b/src/display/nr-arena-shape.h @@ -40,7 +40,7 @@ struct NRArenaShape : public NRArenaItem { Paint() : _type(NONE), _color(0), _server(NULL) {} Paint(Paint const &p) { _assign(p); } - ~Paint() { clear(); } + virtual ~Paint() { clear(); } Type type() const { return _type; } SPPaintServer *server() const { return _server; } diff --git a/src/display/nr-filter-slot.h b/src/display/nr-filter-slot.h index 2272c3ae7..aaf22e513 100644 --- a/src/display/nr-filter-slot.h +++ b/src/display/nr-filter-slot.h @@ -32,7 +32,7 @@ public: */ FilterSlot(int slots, NRArenaItem const *item); /** Destroys the FilterSlot object and all its contents */ - ~FilterSlot(); + virtual ~FilterSlot(); /** Returns the pixblock in specified slot. * Parameter 'slot' may be either an positive integer or one of diff --git a/src/display/nr-filter.h b/src/display/nr-filter.h index 4d33c3d70..267f242d1 100644 --- a/src/display/nr-filter.h +++ b/src/display/nr-filter.h @@ -166,7 +166,7 @@ public: */ Filter(int n); /** Destroys the filter and all its primitives */ - ~Filter(); + virtual ~Filter(); private: int _primitive_count; diff --git a/src/display/nr-light.h b/src/display/nr-light.h index 61c3c3909..6c73a0a68 100644 --- a/src/display/nr-light.h +++ b/src/display/nr-light.h @@ -35,7 +35,7 @@ class DistantLight { * \param lighting_color the lighting_color used */ DistantLight(SPFeDistantLight *light, guint32 lighting_color); - ~DistantLight(); + virtual ~DistantLight(); /** * Computes the light vector of the distant light @@ -69,7 +69,7 @@ class PointLight { * employed in the rendering) */ PointLight(SPFePointLight *light, guint32 lighting_color, const Matrix &trans); - ~PointLight(); + virtual ~PointLight(); /** * Computes the light vector of the distant light at point (x,y,z). * x, y and z are given in the arena_item coordinate, they are used as @@ -109,7 +109,7 @@ class SpotLight { * employed in the rendering) */ SpotLight(SPFeSpotLight *light, guint32 lighting_color, const Matrix &trans); - ~SpotLight(); + virtual ~SpotLight(); /** * Computes the light vector of the distant light at point (x,y,z). diff --git a/src/document.h b/src/document.h index e9546ae23..e1b405f18 100644 --- a/src/document.h +++ b/src/document.h @@ -64,7 +64,7 @@ class SPDocumentPrivate; /// Typed SVG document implementation. struct SPDocument : public Inkscape::GC::Managed<>, public Inkscape::GC::Finalized, - public Inkscape::GC::Anchored + public Inkscape::GC::Anchored { typedef sigc::signal IDChangedSignal; typedef sigc::signal ResourcesChangedSignal; @@ -73,10 +73,10 @@ struct SPDocument : public Inkscape::GC::Managed<>, typedef sigc::signal ResizedSignal; typedef sigc::signal ReconstructionStart; typedef sigc::signal ReconstructionFinish; - typedef sigc::signal CommitSignal; + typedef sigc::signal CommitSignal; SPDocument(); - ~SPDocument(); + virtual ~SPDocument(); unsigned int keepalive : 1; unsigned int virgin : 1; ///< Has the document never been touched? diff --git a/src/dom/css.h b/src/dom/css.h index 6ab92389e..461003dcb 100644 --- a/src/dom/css.h +++ b/src/dom/css.h @@ -430,12 +430,12 @@ public: CSSStyleDeclarationEntry(const DOMString &nameArg, const DOMString &valueArg, const DOMString &prioArg) - { + { name = nameArg; value = valueArg; prio = prioArg; - } - ~CSSStyleDeclarationEntry(){} + } + virtual ~CSSStyleDeclarationEntry(){} DOMString name; DOMString value; DOMString prio; diff --git a/src/dom/dom.h b/src/dom/dom.h index 8a11ea0b0..f57a19cd3 100644 --- a/src/dom/dom.h +++ b/src/dom/dom.h @@ -132,10 +132,10 @@ public: /** * Destructor */ - ~Ptr() - { - decrementRefCount(_ref); - } + virtual ~Ptr() + { + decrementRefCount(_ref); + } /** diff --git a/src/dom/domimpl.h b/src/dom/domimpl.h index cf7ab6564..dc4274e06 100644 --- a/src/dom/domimpl.h +++ b/src/dom/domimpl.h @@ -524,18 +524,19 @@ protected: UserDataEntry(const DOMString &theKey, const DOMUserData *theData, const UserDataHandler *theHandler) - { + { next = NULL; key = theKey; data = (DOMUserData *)theData; handler = (UserDataHandler *)theHandler; - } - ~UserDataEntry() - { + } + + virtual ~UserDataEntry() + { //delete anything after me, too if (next) delete next; - } + } UserDataEntry *next; DOMString key; diff --git a/src/dom/events.h b/src/dom/events.h index 7c9a6f571..d237ff545 100644 --- a/src/dom/events.h +++ b/src/dom/events.h @@ -81,10 +81,10 @@ public: EventException(short theCode) { - code = theCode; + code = theCode; } - ~EventException() throw() + virtual ~EventException() throw() {} unsigned short code; diff --git a/src/dom/io/domstream.h b/src/dom/io/domstream.h index 273782b67..7b999e317 100644 --- a/src/dom/io/domstream.h +++ b/src/dom/io/domstream.h @@ -50,7 +50,7 @@ public: StreamException(const DOMString &theReason) throw() { reason = theReason; } - ~StreamException() throw() + virtual ~StreamException() throw() { } char const *what() { return reason.c_str(); } @@ -441,7 +441,7 @@ public: StdReader(); - ~StdReader(); + virtual ~StdReader(); /*Overload these 3 for your implementation*/ virtual int available(); @@ -645,7 +645,7 @@ class StdWriter : public BasicWriter public: StdWriter(); - ~StdWriter(); + virtual ~StdWriter(); virtual void close(); diff --git a/src/dom/js/jscntxt.h b/src/dom/js/jscntxt.h index bf49c8b8e..ca71c5ad1 100644 --- a/src/dom/js/jscntxt.h +++ b/src/dom/js/jscntxt.h @@ -609,7 +609,7 @@ class JSAutoTempValueRooter JS_PUSH_SINGLE_TEMP_ROOT(mContext, v, &mTvr); } - ~JSAutoTempValueRooter() { + virtual ~JSAutoTempValueRooter() { JS_POP_TEMP_ROOT(mContext, &mTvr); } diff --git a/src/dom/xpathparser.h b/src/dom/xpathparser.h index 28523027b..1ad4b5f54 100644 --- a/src/dom/xpathparser.h +++ b/src/dom/xpathparser.h @@ -371,13 +371,13 @@ public: */ XPathParser() { - debug = false; + debug = false; } /** * */ - ~XPathParser() {} + virtual ~XPathParser() {} /** * diff --git a/src/event-log.h b/src/event-log.h index a618f0467..33faa57f6 100644 --- a/src/event-log.h +++ b/src/event-log.h @@ -45,7 +45,7 @@ public: typedef Gtk::TreeModel::const_iterator const_iterator; EventLog(SPDocument* document); - ~EventLog(); + virtual ~EventLog(); /** * Event datatype diff --git a/src/event.h b/src/event.h index 1e3e233cc..bf11604d8 100644 --- a/src/event.h +++ b/src/event.h @@ -32,7 +32,7 @@ struct Event { Event(XML::Event *_event, unsigned int _type=SP_VERB_NONE, Glib::ustring _description="") : event (_event), type (_type), description (_description) { } - ~Event() { sp_repr_free_log (event); } + virtual ~Event() { sp_repr_free_log (event); } XML::Event *event; const unsigned int type; diff --git a/src/extension/dependency.h b/src/extension/dependency.h index f94f3d9ab..b76e30407 100644 --- a/src/extension/dependency.h +++ b/src/extension/dependency.h @@ -57,7 +57,7 @@ class Dependency { public: Dependency (Inkscape::XML::Node * in_repr); - ~Dependency (void); + virtual ~Dependency (void); bool check (void) const; Glib::ustring &get_help (void) const; Glib::ustring &get_link (void) const; diff --git a/src/extension/dxf2svg/read_dxf.h b/src/extension/dxf2svg/read_dxf.h index 0708b6ce1..7e008b4e0 100644 --- a/src/extension/dxf2svg/read_dxf.h +++ b/src/extension/dxf2svg/read_dxf.h @@ -8,15 +8,16 @@ -class dxfpair{ - public: - dxfpair(int gcode, char val[10000]); - ~dxfpair(); - char * value_char(char *string); - - // Leave this data public - int group_code; - std::vector< char > value; +class dxfpair{ +public: + dxfpair(int gcode, char val[10000]); + virtual ~dxfpair(); + + char * value_char(char *string); + + // Leave this data public + int group_code; + std::vector< char > value; }; diff --git a/src/extension/execution-env.h b/src/extension/execution-env.h index 7b35f33a2..949d09db6 100644 --- a/src/extension/execution-env.h +++ b/src/extension/execution-env.h @@ -53,7 +53,7 @@ public: sigc::signal * changeSignal = NULL, Gtk::Dialog * prefDialog = NULL, Implementation::ImplementationDocumentCache * docCache = NULL); - ~ExecutionEnv (void); + virtual ~ExecutionEnv (void); void run (void); void livePreview (bool state = true); diff --git a/src/extension/implementation/script.h b/src/extension/implementation/script.h index bb3516232..726d27745 100644 --- a/src/extension/implementation/script.h +++ b/src/extension/implementation/script.h @@ -156,7 +156,7 @@ private: public: file_listener () : _dead(false) { }; - ~file_listener () { + virtual ~file_listener () { _conn.disconnect(); }; diff --git a/src/extension/internal/cairo-render-context.h b/src/extension/internal/cairo-render-context.h index 424764358..dc1592a81 100644 --- a/src/extension/internal/cairo-render-context.h +++ b/src/extension/internal/cairo-render-context.h @@ -135,7 +135,7 @@ public: protected: CairoRenderContext(CairoRenderer *renderer); - ~CairoRenderContext(void); + virtual ~CairoRenderContext(void); float _width; float _height; diff --git a/src/extension/internal/cairo-renderer.h b/src/extension/internal/cairo-renderer.h index 7ce30b9ec..6cb810bfe 100644 --- a/src/extension/internal/cairo-renderer.h +++ b/src/extension/internal/cairo-renderer.h @@ -42,7 +42,7 @@ class CairoRenderContext; class CairoRenderer { public: CairoRenderer(void); - ~CairoRenderer(void); + virtual ~CairoRenderer(void); CairoRenderContext *createContext(void); void destroyContext(CairoRenderContext *ctx); diff --git a/src/extension/internal/pdfinput/pdf-parser.h b/src/extension/internal/pdfinput/pdf-parser.h index a40532fca..21effe81d 100644 --- a/src/extension/internal/pdfinput/pdf-parser.h +++ b/src/extension/internal/pdfinput/pdf-parser.h @@ -109,7 +109,7 @@ class ClipHistoryEntry { public: ClipHistoryEntry(GfxPath *clipPath=NULL, GfxClipType clipType=clipNormal); - ~ClipHistoryEntry(); + virtual ~ClipHistoryEntry(); // Manipulate clip path stack ClipHistoryEntry *save(); @@ -156,7 +156,7 @@ public: PdfParser(XRef *xrefA, Inkscape::Extension::Internal::SvgBuilder *builderA, Dict *resDict, PDFRectangle *box); - ~PdfParser(); + virtual ~PdfParser(); // Interpret a stream or array of streams. void parse(Object *obj, GBool topLevel = gTrue); diff --git a/src/extension/internal/pdfinput/svg-builder.h b/src/extension/internal/pdfinput/svg-builder.h index 50ac3bb23..4a57d5bb9 100644 --- a/src/extension/internal/pdfinput/svg-builder.h +++ b/src/extension/internal/pdfinput/svg-builder.h @@ -97,7 +97,7 @@ class SvgBuilder { public: SvgBuilder(SPDocument *document, gchar *docname, XRef *xref); SvgBuilder(SvgBuilder *parent, Inkscape::XML::Node *root); - ~SvgBuilder(); + virtual ~SvgBuilder(); // Property setting void setDocumentSize(double width, double height); // Document size in px diff --git a/src/extension/paramcolor.h b/src/extension/paramcolor.h index fc9d939cd..b30c3be7a 100644 --- a/src/extension/paramcolor.h +++ b/src/extension/paramcolor.h @@ -21,13 +21,13 @@ private: guint32 _value; public: ParamColor(const gchar * name, const gchar * guitext, const gchar * desc, const Parameter::_scope_t scope, Inkscape::Extension::Extension * ext, Inkscape::XML::Node * xml); - ~ParamColor(void); + virtual ~ParamColor(void); /** \brief Returns \c _value, with a \i const to protect it. */ guint32 get (const SPDocument * doc, const Inkscape::XML::Node * node) { return _value; } guint32 set (guint32 in, SPDocument * doc, Inkscape::XML::Node * node); Gtk::Widget * get_widget(SPDocument * doc, Inkscape::XML::Node * node, sigc::signal * changeSignal); Glib::ustring * string (void); - sigc::signal * _changeSignal; + sigc::signal * _changeSignal; }; /* class ParamColor */ } /* namespace Extension */ diff --git a/src/extension/paramenum.h b/src/extension/paramenum.h index 7f36742aa..78b84e612 100644 --- a/src/extension/paramenum.h +++ b/src/extension/paramenum.h @@ -38,7 +38,7 @@ private: public: ParamComboBox(const gchar * name, const gchar * guitext, const gchar * desc, const Parameter::_scope_t scope, Inkscape::Extension::Extension * ext, Inkscape::XML::Node * xml); - ~ParamComboBox(void); + virtual ~ParamComboBox(void); Gtk::Widget * get_widget(SPDocument * doc, Inkscape::XML::Node * node, sigc::signal * changeSignal); Glib::ustring * string (void); diff --git a/src/extension/paramnotebook.h b/src/extension/paramnotebook.h index d0603003e..7aebfd97f 100644 --- a/src/extension/paramnotebook.h +++ b/src/extension/paramnotebook.h @@ -39,7 +39,7 @@ private: notebook */ public: ParamNotebook(const gchar * name, const gchar * guitext, const gchar * desc, const Parameter::_scope_t scope, Inkscape::Extension::Extension * ext, Inkscape::XML::Node * xml); - ~ParamNotebook(void); + virtual ~ParamNotebook(void); Gtk::Widget * get_widget(SPDocument * doc, Inkscape::XML::Node * node, sigc::signal * changeSignal); Glib::ustring * string (void); diff --git a/src/extension/paramradiobutton.h b/src/extension/paramradiobutton.h index 6a5fd7d0d..ddbdcc7b8 100644 --- a/src/extension/paramradiobutton.h +++ b/src/extension/paramradiobutton.h @@ -38,7 +38,7 @@ private: public: ParamRadioButton(const gchar * name, const gchar * guitext, const gchar * desc, const Parameter::_scope_t scope, Inkscape::Extension::Extension * ext, Inkscape::XML::Node * xml); - ~ParamRadioButton(void); + virtual ~ParamRadioButton(void); Gtk::Widget * get_widget(SPDocument * doc, Inkscape::XML::Node * node, sigc::signal * changeSignal); Glib::ustring * string (void); diff --git a/src/extension/paramstring.h b/src/extension/paramstring.h index c36d7ba6c..2f8e29c9c 100644 --- a/src/extension/paramstring.h +++ b/src/extension/paramstring.h @@ -23,7 +23,7 @@ private: gchar * _value; public: ParamString(const gchar * name, const gchar * guitext, const gchar * desc, const Parameter::_scope_t scope, Inkscape::Extension::Extension * ext, Inkscape::XML::Node * xml); - ~ParamString(void); + virtual ~ParamString(void); /** \brief Returns \c _value, with a \i const to protect it. */ const gchar * get (const SPDocument * doc, const Inkscape::XML::Node * node) { return _value; } const gchar * set (const gchar * in, SPDocument * doc, Inkscape::XML::Node * node); diff --git a/src/extension/prefdialog.h b/src/extension/prefdialog.h index 243f92416..32f0b8119 100644 --- a/src/extension/prefdialog.h +++ b/src/extension/prefdialog.h @@ -76,7 +76,7 @@ public: ExecutionEnv * exEnv = NULL, Effect * effect = NULL, sigc::signal * changeSignal = NULL); - ~PrefDialog (); + virtual ~PrefDialog (); int run (void); void setPreviewState (Glib::ustring state); diff --git a/src/extension/print.h b/src/extension/print.h index ac4771216..d7cc146c6 100644 --- a/src/extension/print.h +++ b/src/extension/print.h @@ -30,7 +30,7 @@ public: /* TODO: These are public for the short term, but this should be fixed * public: Print (Inkscape::XML::Node * in_repr, Implementation::Implementation * in_imp); - ~Print (void); + virtual ~Print (void); virtual bool check (void); /* FALSE means user hit cancel */ diff --git a/src/extension/script/InkscapeScript.h b/src/extension/script/InkscapeScript.h index e8728cb33..256b18a2c 100644 --- a/src/extension/script/InkscapeScript.h +++ b/src/extension/script/InkscapeScript.h @@ -42,7 +42,7 @@ public: /** * Destructor */ - ~InkscapeScript(); + virtual ~InkscapeScript(); /** * Interprets the script in the 'script' buffer, diff --git a/src/extension/timer.h b/src/extension/timer.h index 7855ed170..ebae62b24 100644 --- a/src/extension/timer.h +++ b/src/extension/timer.h @@ -46,7 +46,7 @@ class ExpirationTimer { public: ExpirationTimer(Extension * in_extension); - ~ExpirationTimer(void); + virtual ~ExpirationTimer(void); void touch (void); void lock (void) { locked++; }; diff --git a/src/gradient-drag.h b/src/gradient-drag.h index 06859c24b..2d52da04b 100644 --- a/src/gradient-drag.h +++ b/src/gradient-drag.h @@ -34,7 +34,7 @@ GrPointType enum), and the point number (needed if more than 2 stops are present */ struct GrDraggable { GrDraggable(SPItem *item, guint point_type, guint point_i, bool fill_or_stroke); - ~GrDraggable(); + virtual ~GrDraggable(); SPItem *item; gint point_type; @@ -59,7 +59,7 @@ be more when draggers are snapped together. */ struct GrDragger { GrDragger (GrDrag *parent, NR::Point p, GrDraggable *draggable); - ~GrDragger(); + virtual ~GrDragger(); GrDrag *parent; @@ -107,7 +107,7 @@ class GrDrag { public: // FIXME: make more of this private! GrDrag(SPDesktop *desktop); - ~GrDrag(); + virtual ~GrDrag(); bool isNonEmpty() {return (draggers != NULL);} bool hasSelection() {return (selected != NULL);} diff --git a/src/helper/unit-tracker.h b/src/helper/unit-tracker.h index 1832430b3..eee714a2e 100644 --- a/src/helper/unit-tracker.h +++ b/src/helper/unit-tracker.h @@ -25,7 +25,7 @@ class UnitTracker { public: UnitTracker( guint bases = (SP_UNIT_ABSOLUTE | SP_UNIT_DEVICE) ); - ~UnitTracker(); + virtual ~UnitTracker(); void setBase( guint bases ); // SP_UNIT_ABSOLUTE | SP_UNIT_DEVICE void addUnit( SPUnitId id, gint index ); diff --git a/src/io/inkscapestream.h b/src/io/inkscapestream.h index 4388a2815..67c51cc7f 100644 --- a/src/io/inkscapestream.h +++ b/src/io/inkscapestream.h @@ -27,7 +27,7 @@ public: { reason = theReason; } StreamException(Glib::ustring &theReason) throw() { reason = theReason; } - ~StreamException() throw() + virtual ~StreamException() throw() { } char const *what() const throw() { return reason.c_str(); } @@ -424,7 +424,7 @@ public: StdReader(); - ~StdReader(); + virtual ~StdReader(); /*Overload these 3 for your implementation*/ virtual int available(); @@ -636,7 +636,7 @@ class StdWriter : public BasicWriter public: StdWriter(); - ~StdWriter(); + virtual ~StdWriter(); virtual void close(); diff --git a/src/io/xsltstream.h b/src/io/xsltstream.h index 5e293abc6..13d9550fa 100644 --- a/src/io/xsltstream.h +++ b/src/io/xsltstream.h @@ -37,7 +37,7 @@ public: XsltStyleSheet(InputStream &source) throw (StreamException); - ~XsltStyleSheet(); + virtual ~XsltStyleSheet(); xsltStylesheetPtr stylesheet; diff --git a/src/jabber_whiteboard/invitation-confirm-dialog.h b/src/jabber_whiteboard/invitation-confirm-dialog.h index b73a0e3bc..ea83bf0f7 100644 --- a/src/jabber_whiteboard/invitation-confirm-dialog.h +++ b/src/jabber_whiteboard/invitation-confirm-dialog.h @@ -25,7 +25,7 @@ namespace Whiteboard { class InvitationConfirmDialog : public Gtk::MessageDialog { public: InvitationConfirmDialog(Glib::ustring const& msg); - ~InvitationConfirmDialog(); + virtual ~InvitationConfirmDialog(); Glib::ustring const& getSessionFilePath(); bool useSessionFile(); diff --git a/src/jabber_whiteboard/message-aggregator.h b/src/jabber_whiteboard/message-aggregator.h index 505e65f12..a73ee9876 100644 --- a/src/jabber_whiteboard/message-aggregator.h +++ b/src/jabber_whiteboard/message-aggregator.h @@ -32,7 +32,7 @@ public: static unsigned int const MAX_SIZE = 16384; MessageAggregator() { } - ~MessageAggregator() { } + virtual ~MessageAggregator() { } /** * Return the instance of this class. diff --git a/src/jabber_whiteboard/message-node.h b/src/jabber_whiteboard/message-node.h index a9ed84e6f..62e120be6 100644 --- a/src/jabber_whiteboard/message-node.h +++ b/src/jabber_whiteboard/message-node.h @@ -61,7 +61,7 @@ public: this->_recipient = recip; } - ~MessageNode() + virtual ~MessageNode() { // g_log(NULL, G_LOG_LEVEL_DEBUG, "MessageNode destructor"); /* diff --git a/src/jabber_whiteboard/node-tracker.h b/src/jabber_whiteboard/node-tracker.h index 75852e98e..66814c5ca 100644 --- a/src/jabber_whiteboard/node-tracker.h +++ b/src/jabber_whiteboard/node-tracker.h @@ -79,7 +79,7 @@ public: */ XMLNodeTracker(SessionManager* sm); - ~XMLNodeTracker(); + virtual ~XMLNodeTracker(); void setSessionManager(const SessionManager *val); diff --git a/src/jabber_whiteboard/session-file-selector.h b/src/jabber_whiteboard/session-file-selector.h index 4b1f70375..e0c7965c3 100644 --- a/src/jabber_whiteboard/session-file-selector.h +++ b/src/jabber_whiteboard/session-file-selector.h @@ -22,7 +22,7 @@ namespace Whiteboard { class SessionFileSelectorBox : public Gtk::HBox { public: SessionFileSelectorBox(); - ~SessionFileSelectorBox(); + virtual ~SessionFileSelectorBox(); bool isSelected(); Glib::ustring const& getFilename(); diff --git a/src/jabber_whiteboard/tracker-node.h b/src/jabber_whiteboard/tracker-node.h index 120c4d00e..02fea0050 100644 --- a/src/jabber_whiteboard/tracker-node.h +++ b/src/jabber_whiteboard/tracker-node.h @@ -41,7 +41,7 @@ public: { } - ~TrackerNode() + virtual ~TrackerNode() { } diff --git a/src/layer-manager.h b/src/layer-manager.h index 514677fd0..835f1b340 100644 --- a/src/layer-manager.h +++ b/src/layer-manager.h @@ -26,7 +26,7 @@ class LayerManager : public DocumentSubset, { public: LayerManager(SPDesktop *desktop); - ~LayerManager(); + virtual ~LayerManager(); void setCurrentLayer( SPObject* obj ); void renameLayer( SPObject* obj, gchar const *label ); diff --git a/src/libavoid/connector.h b/src/libavoid/connector.h index a313e3bb4..64afb4dda 100644 --- a/src/libavoid/connector.h +++ b/src/libavoid/connector.h @@ -42,7 +42,7 @@ class ConnRef ConnRef(Router *router, const unsigned int id); ConnRef(Router *router, const unsigned int id, const Point& src, const Point& dst); - ~ConnRef(); + virtual ~ConnRef(); void setType(unsigned int type); PolyLine& route(void); diff --git a/src/libavoid/graph.h b/src/libavoid/graph.h index c4de3df08..05f03a988 100644 --- a/src/libavoid/graph.h +++ b/src/libavoid/graph.h @@ -43,7 +43,7 @@ class EdgeInf { public: EdgeInf(VertInf *v1, VertInf *v2); - ~EdgeInf(); + virtual ~EdgeInf(); inline double getDist(void) { return _dist; diff --git a/src/libavoid/shape.h b/src/libavoid/shape.h index 28f38298d..b654c6eea 100644 --- a/src/libavoid/shape.h +++ b/src/libavoid/shape.h @@ -39,7 +39,7 @@ class ShapeRef { public: ShapeRef(Router *router, unsigned int id, Polygn& poly); - ~ShapeRef(); + virtual ~ShapeRef(); void setNewPoly(Polygn& poly); VertInf *firstVert(void); VertInf *lastVert(void); diff --git a/src/libcola/cola.h b/src/libcola/cola.h index b56d2327e..eda64cb5f 100644 --- a/src/libcola/cola.h +++ b/src/libcola/cola.h @@ -28,7 +28,7 @@ namespace cola { vector rects; vector edges; SimpleConstraints scx, scy; - ~Component(); + virtual ~Component(); void moveRectangles(double x, double y); Rectangle* getBoundingBox(); }; @@ -174,7 +174,7 @@ namespace cola { void setupDummyVars(); - ~ConstrainedMajorizationLayout() { + virtual ~ConstrainedMajorizationLayout() { if(boundingBoxes) { delete [] boundingBoxes; } diff --git a/src/libcola/cycle_detector.h b/src/libcola/cycle_detector.h index fcb8722fe..18286ac50 100644 --- a/src/libcola/cycle_detector.h +++ b/src/libcola/cycle_detector.h @@ -21,13 +21,13 @@ class Node { StatusType status; Node(unsigned id) { this->id = id; cyclicAncestor = NULL; status = NotVisited; } - ~Node() {} + virtual ~Node() {} }; class CycleDetector { public: CycleDetector(unsigned numVertices, Edges *edges); - ~CycleDetector(); + virtual ~CycleDetector(); std::vector *detect_cycles(); void mod_graph(unsigned numVertices, Edges *edges); unsigned getV() { return this->V; } diff --git a/src/libcola/gradient_projection.h b/src/libcola/gradient_projection.h index 9ee3ff5c5..4ef68fc2e 100644 --- a/src/libcola/gradient_projection.h +++ b/src/libcola/gradient_projection.h @@ -223,7 +223,7 @@ public: constrained=true; } } - ~GradientProjection() { + virtual ~GradientProjection() { delete [] g; delete [] d; delete [] old_place; diff --git a/src/libcola/straightener.h b/src/libcola/straightener.h index e2c50a3a6..934be45ba 100644 --- a/src/libcola/straightener.h +++ b/src/libcola/straightener.h @@ -10,7 +10,7 @@ namespace straightener { struct Route { Route(unsigned n) : n(n), xs(new double[n]), ys(new double[n]) {} - ~Route() { + virtual ~Route() { delete [] xs; delete [] ys; } @@ -42,7 +42,7 @@ namespace straightener { { route->boundingBox(xmin,ymin,xmax,ymax); } - ~Edge() { + virtual ~Edge() { delete route; } void setRoute(Route* r) { diff --git a/src/libnrtype/FontFactory.h b/src/libnrtype/FontFactory.h index 2b4c6be0f..ba0010246 100644 --- a/src/libnrtype/FontFactory.h +++ b/src/libnrtype/FontFactory.h @@ -71,7 +71,7 @@ public: __gnu_cxx::hash_map loadedFaces; font_factory(); - ~font_factory(); + virtual ~font_factory(); /// Returns the default font_factory. static font_factory* Default(); diff --git a/src/libnrtype/Layout-TNG-Scanline-Maker.h b/src/libnrtype/Layout-TNG-Scanline-Maker.h index 3865e2c12..f0783c149 100755 --- a/src/libnrtype/Layout-TNG-Scanline-Maker.h +++ b/src/libnrtype/Layout-TNG-Scanline-Maker.h @@ -87,7 +87,7 @@ class Layout::InfiniteScanlineMaker : public Layout::ScanlineMaker { public: InfiniteScanlineMaker(double initial_x, double initial_y, Layout::Direction block_progression); - ~InfiniteScanlineMaker(); + virtual ~InfiniteScanlineMaker(); /** Returns a single infinite run at the current location */ virtual std::vector makeScanline(Layout::LineHeight const &line_height); @@ -120,7 +120,7 @@ class Layout::ShapeScanlineMaker : public Layout::ScanlineMaker { public: ShapeScanlineMaker(Shape const *shape, Layout::Direction block_progression); - ~ShapeScanlineMaker(); + virtual ~ShapeScanlineMaker(); virtual std::vector makeScanline(Layout::LineHeight const &line_height); diff --git a/src/libnrtype/RasterFont.h b/src/libnrtype/RasterFont.h index 10de23d1b..268b7c58f 100644 --- a/src/libnrtype/RasterFont.h +++ b/src/libnrtype/RasterFont.h @@ -30,7 +30,7 @@ public: raster_glyph** bases; explicit raster_font(font_style const &fstyle); - ~raster_font(void); + virtual ~raster_font(void); void Unref(void); void Ref(void); diff --git a/src/libnrtype/TextWrapper.h b/src/libnrtype/TextWrapper.h index 188f04ee1..e3b3272a6 100644 --- a/src/libnrtype/TextWrapper.h +++ b/src/libnrtype/TextWrapper.h @@ -64,7 +64,7 @@ public: one_para *paras; text_wrapper(void); - ~text_wrapper(void); + virtual ~text_wrapper(void); // filling the structure with input data void SetDefaultFont(font_instance *iFont); diff --git a/src/libnrtype/font-instance.h b/src/libnrtype/font-instance.h index 4bec0203d..22dd829ae 100644 --- a/src/libnrtype/font-instance.h +++ b/src/libnrtype/font-instance.h @@ -50,7 +50,7 @@ public: font_glyph* glyphs; font_instance(void); - ~font_instance(void); + virtual ~font_instance(void); void Ref(void); void Unref(void); diff --git a/src/libnrtype/font-lister.h b/src/libnrtype/font-lister.h index fb0810254..39953c11c 100644 --- a/src/libnrtype/font-lister.h +++ b/src/libnrtype/font-lister.h @@ -35,7 +35,7 @@ namespace Inkscape }; - ~FontLister (); + virtual ~FontLister (); /** GtkTreeModelColumnRecord for the font list Gtk::ListStore */ diff --git a/src/libnrtype/raster-glyph.h b/src/libnrtype/raster-glyph.h index e39cc4e41..d8a85a4a1 100644 --- a/src/libnrtype/raster-glyph.h +++ b/src/libnrtype/raster-glyph.h @@ -23,7 +23,7 @@ public: raster_position* sub_pixel; raster_glyph(void); - ~raster_glyph(void); + virtual ~raster_glyph(void); // utility void SetSubPixelPositionning(int nb_pos); diff --git a/src/libnrtype/raster-position.h b/src/libnrtype/raster-position.h index ef12b93ec..744b6dddd 100644 --- a/src/libnrtype/raster-position.h +++ b/src/libnrtype/raster-position.h @@ -23,7 +23,7 @@ public: public: raster_position(); - ~raster_position(); + virtual ~raster_position(); // stuff runs into the structure void AppendRuns(std::vector const &r, int y); diff --git a/src/libvpsc/block.h b/src/libvpsc/block.h index 9c285f311..fe4a18b78 100644 --- a/src/libvpsc/block.h +++ b/src/libvpsc/block.h @@ -34,7 +34,7 @@ public: double weight; double wposn; Block(Variable* const v=NULL); - ~Block(void); + virtual ~Block(void); Constraint* findMinLM(); Constraint* findMinLMBetween(Variable* const lv, Variable* const rv); Constraint* findMinInConstraint(); diff --git a/src/libvpsc/blocks.h b/src/libvpsc/blocks.h index 72363ef66..bfe99f271 100644 --- a/src/libvpsc/blocks.h +++ b/src/libvpsc/blocks.h @@ -36,7 +36,7 @@ class Blocks : public std::set { public: Blocks(const int n, Variable* const vs[]); - ~Blocks(void); + virtual ~Blocks(void); void mergeLeft(Block *r); void mergeRight(Block *l); void split(Block *b, Block *&l, Block *&r, Constraint *c); diff --git a/src/libvpsc/constraint.h b/src/libvpsc/constraint.h index c73776daf..8a8529d7e 100644 --- a/src/libvpsc/constraint.h +++ b/src/libvpsc/constraint.h @@ -26,7 +26,7 @@ public: double gap; double lm; Constraint(Variable *left, Variable *right, double gap, bool equality=false); - ~Constraint(); + virtual ~Constraint(); inline double slack() const { return right->position() - gap - left->position(); } long timeStamp; bool active; diff --git a/src/libvpsc/pairingheap/PairingHeap.h b/src/libvpsc/pairingheap/PairingHeap.h index 63c9badcf..6159e96c1 100644 --- a/src/libvpsc/pairingheap/PairingHeap.h +++ b/src/libvpsc/pairingheap/PairingHeap.h @@ -74,7 +74,7 @@ class PairingHeap public: PairingHeap( bool (*lessThan)(T const &lhs, T const &rhs) ); PairingHeap( const PairingHeap & rhs ); - ~PairingHeap( ); + virtual ~PairingHeap( ); bool isEmpty( ) const; bool isFull( ) const; diff --git a/src/libvpsc/variable.h b/src/libvpsc/variable.h index d2c689723..25239ff20 100644 --- a/src/libvpsc/variable.h +++ b/src/libvpsc/variable.h @@ -44,7 +44,7 @@ public: return block->posn+offset; } //double position() const; - ~Variable(void){ + virtual ~Variable(void){ in.clear(); out.clear(); } diff --git a/src/livarot/AVL.h b/src/livarot/AVL.h index 257c39c72..9bfe5b36d 100644 --- a/src/livarot/AVL.h +++ b/src/livarot/AVL.h @@ -33,7 +33,7 @@ protected: AVLTree *son[2]; AVLTree(); - ~AVLTree(); + virtual ~AVLTree(); // constructor/destructor meant to be called for an array of AVLTree created by malloc void MakeNew(); diff --git a/src/livarot/AlphaLigne.h b/src/livarot/AlphaLigne.h index d6684e0cf..51359705b 100644 --- a/src/livarot/AlphaLigne.h +++ b/src/livarot/AlphaLigne.h @@ -45,7 +45,7 @@ public: // iMin and iMax are the bounds of the visible portion of the line AlphaLigne(int iMin,int iMax); - ~AlphaLigne(void); + virtual ~AlphaLigne(void); // empties the line void Reset(void); diff --git a/src/livarot/BitLigne.h b/src/livarot/BitLigne.h index 0bdb3a80e..e496a7b4b 100644 --- a/src/livarot/BitLigne.h +++ b/src/livarot/BitLigne.h @@ -40,7 +40,7 @@ public: float scale,invScale; BitLigne(int ist,int ien,float iScale=0.25); // default scale is 1/4 for 4x4 supersampling - ~BitLigne(void); + virtual ~BitLigne(void); // reset the line to full empty void Reset(void); diff --git a/src/livarot/MySeg.h b/src/livarot/MySeg.h index 8183b7d46..1df2faaea 100644 --- a/src/livarot/MySeg.h +++ b/src/livarot/MySeg.h @@ -73,7 +73,7 @@ public: L_SEG (void) { }; - ~L_SEG (void) + virtual ~L_SEG (void) { }; diff --git a/src/livarot/Path.h b/src/livarot/Path.h index 8d7fd0a7e..a405e00cc 100644 --- a/src/livarot/Path.h +++ b/src/livarot/Path.h @@ -89,7 +89,7 @@ public: bool back; Path(); - ~Path(); + virtual ~Path(); // creation of the path description void Reset(); // reset to the empty description diff --git a/src/livarot/Shape.h b/src/livarot/Shape.h index 6e25fd405..3c7010bbe 100644 --- a/src/livarot/Shape.h +++ b/src/livarot/Shape.h @@ -105,7 +105,7 @@ public: }; Shape(); - ~Shape(); + virtual ~Shape(); void MakeBackData(bool nVal); void MakeVoronoiData(bool nVal); diff --git a/src/livarot/float-line.h b/src/livarot/float-line.h index ef4f2c398..473d08a19 100644 --- a/src/livarot/float-line.h +++ b/src/livarot/float-line.h @@ -70,7 +70,7 @@ public: int s_last; FloatLigne(); - ~FloatLigne(); + virtual ~FloatLigne(); void Reset(); diff --git a/src/livarot/int-line.h b/src/livarot/int-line.h index 6ed011c04..31567e637 100644 --- a/src/livarot/int-line.h +++ b/src/livarot/int-line.h @@ -47,7 +47,7 @@ public: int lastAc; IntLigne(); - ~IntLigne(); + virtual ~IntLigne(); void Reset(); int AddBord(int spos, float sval, int epos, float eval); diff --git a/src/livarot/sweep-event-queue.h b/src/livarot/sweep-event-queue.h index b3cdd4c9d..3c5d5f8cd 100644 --- a/src/livarot/sweep-event-queue.h +++ b/src/livarot/sweep-event-queue.h @@ -19,7 +19,7 @@ class SweepEventQueue { public: SweepEventQueue(int s); - ~SweepEventQueue(); + virtual ~SweepEventQueue(); int size() const { return nbEvt; } diff --git a/src/livarot/sweep-event.h b/src/livarot/sweep-event.h index 7231dd01d..ce23a3ab9 100644 --- a/src/livarot/sweep-event.h +++ b/src/livarot/sweep-event.h @@ -20,7 +20,7 @@ public: int ind; ///< Index in the binary heap. SweepEvent(); // not used. - ~SweepEvent(); // not used. + virtual ~SweepEvent(); // not used. /// Initialize a SweepEvent structure. void MakeNew (SweepTree * iLeft, SweepTree * iRight, NR::Point const &iPt, diff --git a/src/livarot/sweep-tree-list.h b/src/livarot/sweep-tree-list.h index 730b1cc55..271a6baae 100644 --- a/src/livarot/sweep-tree-list.h +++ b/src/livarot/sweep-tree-list.h @@ -17,7 +17,7 @@ public: SweepTree *racine; ///< Root of the tree. SweepTreeList(int s); - ~SweepTreeList(); + virtual ~SweepTreeList(); SweepTree *add(Shape *iSrc, int iBord, int iWeight, int iStartPoint, Shape *iDst); }; diff --git a/src/livarot/sweep-tree.h b/src/livarot/sweep-tree.h index 80a1a8273..67635b4c7 100644 --- a/src/livarot/sweep-tree.h +++ b/src/livarot/sweep-tree.h @@ -27,7 +27,7 @@ public: int startPoint; ///< point index in the result Shape associated with the upper end of the edge SweepTree(); - ~SweepTree(); + virtual ~SweepTree(); // Inits a brand new node. void MakeNew(Shape *iSrc, int iBord, int iWeight, int iStartPoint); diff --git a/src/live_effects/lpe-curvestitch.h b/src/live_effects/lpe-curvestitch.h index fd41f6849..ce7ad583c 100644 --- a/src/live_effects/lpe-curvestitch.h +++ b/src/live_effects/lpe-curvestitch.h @@ -26,7 +26,7 @@ namespace LivePathEffect { class LPECurveStitch : public Effect { public: LPECurveStitch(LivePathEffectObject *lpeobject); - ~LPECurveStitch(); + virtual ~LPECurveStitch(); std::vector doEffect (std::vector & path_in); diff --git a/src/live_effects/lpe-gears.h b/src/live_effects/lpe-gears.h index 4109c2ed0..01d74943a 100644 --- a/src/live_effects/lpe-gears.h +++ b/src/live_effects/lpe-gears.h @@ -20,7 +20,7 @@ namespace LivePathEffect { class LPEGears : public Effect { public: LPEGears(LivePathEffectObject *lpeobject); - ~LPEGears(); + virtual ~LPEGears(); std::vector doEffect (std::vector & path_in); diff --git a/src/live_effects/lpe-pathalongpath.h b/src/live_effects/lpe-pathalongpath.h index 8cc2251a1..59ae8b4d2 100644 --- a/src/live_effects/lpe-pathalongpath.h +++ b/src/live_effects/lpe-pathalongpath.h @@ -28,7 +28,7 @@ enum PAPCopyType { class LPEPathAlongPath : public Effect { public: LPEPathAlongPath(LivePathEffectObject *lpeobject); - ~LPEPathAlongPath(); + virtual ~LPEPathAlongPath(); Geom::Piecewise > doEffect (Geom::Piecewise > & pwd2_in); diff --git a/src/live_effects/lpe-skeletalstrokes.h b/src/live_effects/lpe-skeletalstrokes.h index 64127ff0e..d18bb7cb5 100644 --- a/src/live_effects/lpe-skeletalstrokes.h +++ b/src/live_effects/lpe-skeletalstrokes.h @@ -28,7 +28,7 @@ enum SkelCopyType { class LPESkeletalStrokes : public Effect { public: LPESkeletalStrokes(LivePathEffectObject *lpeobject); - ~LPESkeletalStrokes(); + virtual ~LPESkeletalStrokes(); Geom::Piecewise > doEffect (Geom::Piecewise > & pwd2_in); diff --git a/src/live_effects/lpe-skeleton.h b/src/live_effects/lpe-skeleton.h index 816b8b707..ed63d6388 100644 --- a/src/live_effects/lpe-skeleton.h +++ b/src/live_effects/lpe-skeleton.h @@ -24,13 +24,13 @@ namespace LivePathEffect { class LPESkeleton : public Effect { public: LPESkeleton(LivePathEffectObject *lpeobject); - ~LPESkeleton(); + virtual ~LPESkeleton(); // Choose to implement one of the doEffect functions. You can delete or comment out the others. -// void doEffect (SPCurve * curve); -// NArtBpath * doEffect (NArtBpath * path_in); -// std::vector doEffect (std::vector & path_in); - Geom::Piecewise > doEffect (Geom::Piecewise > & pwd2_in); +// virtual void doEffect (SPCurve * curve); +// virtual NArtBpath * doEffect (NArtBpath * path_in); +// virtual std::vector doEffect (std::vector & path_in); + virtual Geom::Piecewise > doEffect (Geom::Piecewise > & pwd2_in); private: // add the parameters for your effect here: diff --git a/src/live_effects/lpe-slant.h b/src/live_effects/lpe-slant.h index c92a37f80..ca4a404e5 100644 --- a/src/live_effects/lpe-slant.h +++ b/src/live_effects/lpe-slant.h @@ -22,7 +22,7 @@ namespace LivePathEffect { class LPESlant : public Effect { public: LPESlant(LivePathEffectObject *lpeobject); - ~LPESlant(); + virtual ~LPESlant(); void doEffect(SPCurve * curve); diff --git a/src/live_effects/lpe-test-doEffect-stack.h b/src/live_effects/lpe-test-doEffect-stack.h index 0635bc06c..dd0cf76cc 100644 --- a/src/live_effects/lpe-test-doEffect-stack.h +++ b/src/live_effects/lpe-test-doEffect-stack.h @@ -22,12 +22,12 @@ namespace LivePathEffect { class LPEdoEffectStackTest : public Effect { public: LPEdoEffectStackTest(LivePathEffectObject *lpeobject); - ~LPEdoEffectStackTest(); + virtual ~LPEdoEffectStackTest(); - void doEffect (SPCurve * curve); - NArtBpath * doEffect (NArtBpath * path_in); - std::vector doEffect (std::vector & path_in); - Geom::Piecewise > doEffect (Geom::Piecewise > & pwd2_in); + virtual void doEffect (SPCurve * curve); + virtual NArtBpath * doEffect (NArtBpath * path_in); + virtual std::vector doEffect (std::vector & path_in); + virtual Geom::Piecewise > doEffect (Geom::Piecewise > & pwd2_in); private: ScalarParam step; diff --git a/src/live_effects/lpeobject-reference.h b/src/live_effects/lpeobject-reference.h index ba652ff3e..6a2f75327 100644 --- a/src/live_effects/lpeobject-reference.h +++ b/src/live_effects/lpeobject-reference.h @@ -28,7 +28,7 @@ namespace LivePathEffect { class LPEObjectReference : public Inkscape::URIReference { public: LPEObjectReference(SPObject *owner); - ~LPEObjectReference(); + virtual ~LPEObjectReference(); SPObject *owner; diff --git a/src/live_effects/parameter/enum.h b/src/live_effects/parameter/enum.h index 4ee28f895..1c5384f57 100644 --- a/src/live_effects/parameter/enum.h +++ b/src/live_effects/parameter/enum.h @@ -38,7 +38,7 @@ public: defvalue = default_value; value = defvalue; }; - ~EnumParam() { + virtual ~EnumParam() { if (regenum) delete regenum; }; diff --git a/src/live_effects/parameter/path.h b/src/live_effects/parameter/path.h index 2f8c766bd..fc5a16a5b 100644 --- a/src/live_effects/parameter/path.h +++ b/src/live_effects/parameter/path.h @@ -35,7 +35,7 @@ public: Inkscape::UI::Widget::Registry* wr, Effect* effect, const gchar * default_value = "M0,0 L1,1"); - ~PathParam(); + virtual ~PathParam(); Gtk::Widget * param_getWidget(); diff --git a/src/live_effects/parameter/point.h b/src/live_effects/parameter/point.h index c3ed876f7..25cdedb9d 100644 --- a/src/live_effects/parameter/point.h +++ b/src/live_effects/parameter/point.h @@ -33,7 +33,7 @@ public: Inkscape::UI::Widget::Registry* wr, Effect* effect, Geom::Point default_value = Geom::Point(0,0)); - ~PointParam(); + virtual ~PointParam(); Gtk::Widget * param_getWidget(); diff --git a/src/main-cmdlineact.h b/src/main-cmdlineact.h index bcf94c5a2..b40d7c2ba 100644 --- a/src/main-cmdlineact.h +++ b/src/main-cmdlineact.h @@ -26,7 +26,7 @@ class CmdLineAction { public: CmdLineAction (bool isVerb, gchar const * arg); - ~CmdLineAction (); + virtual ~CmdLineAction (); void doIt (Inkscape::UI::View::View * view); static void doList (Inkscape::UI::View::View * view); -- 2.30.2