Add virtual destructors to abstract classes
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Fri, 9 Dec 2011 10:20:19 +0000 (11:20 +0100)
committerPerttu Ahola <celeron55@gmail.com>
Wed, 28 Dec 2011 18:50:21 +0000 (20:50 +0200)
IRespawnInitiator and InventoryActions are abstract classes, but they
were missing a virtual destructor. Define it, even if it does nothing
and its absence most likely makes no difference other tha causing
warnings during compile.

src/guiDeathScreen.h
src/guiTextInputMenu.h
src/inventory.h

index 10a97d7e8710ac109a6614f1493f72071f5c300f..54cc49b0a4d8185bd897f7da9b3e95ae54b141cf 100644 (file)
@@ -29,6 +29,7 @@ class IRespawnInitiator
 {
 public:
        virtual void respawn() = 0;
+       virtual ~IRespawnInitiator() {};
 };
 
 class GUIDeathScreen : public GUIModalMenu
index c679aa9ca35bc2430317d5ab07a000d90dad0103..2939cf654d916f0b74e2d897806dc65b6bd32890 100644 (file)
@@ -28,6 +28,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 struct TextDest
 {
        virtual void gotText(std::wstring text) = 0;
+       virtual ~TextDest() {};
 };
 
 class GUITextInputMenu : public GUIModalMenu
index c16b9a310aa1df57300d9d8f4394198d3b9dee79..795d32d3e8034f37b31b4ff0500e61969da56173 100644 (file)
@@ -554,11 +554,12 @@ public:
 struct InventoryAction
 {
        static InventoryAction * deSerialize(std::istream &is);
-       
+
        virtual u16 getType() const = 0;
        virtual void serialize(std::ostream &os) const = 0;
        virtual void apply(InventoryContext *c, InventoryManager *mgr,
                        ServerEnvironment *env) = 0;
+       virtual ~InventoryAction() {};
 };
 
 struct IMoveAction : public InventoryAction