From cc95e587db857ede7cc6b282bd1a350ef12dd1a1 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Sun, 13 Jan 2019 19:19:01 -0500 Subject: [PATCH] Adds virtual destructors for various interface classes. --- Machines/AppleII/Card.hpp | 1 + Machines/MSX/ROMSlotHandler.hpp | 2 ++ Machines/Utility/Typer.hpp | 2 ++ Storage/Disk/Encodings/MFM/Encoder.cpp | 1 + Storage/Disk/Track/Track.hpp | 2 ++ 5 files changed, 8 insertions(+) diff --git a/Machines/AppleII/Card.hpp b/Machines/AppleII/Card.hpp index 42fb4fd23..2b1ae664f 100644 --- a/Machines/AppleII/Card.hpp +++ b/Machines/AppleII/Card.hpp @@ -39,6 +39,7 @@ namespace AppleII { */ class Card { public: + virtual ~Card() {} enum Select: int { None = 0, // No select line is active IO = 1 << 0, // IO select is active diff --git a/Machines/MSX/ROMSlotHandler.hpp b/Machines/MSX/ROMSlotHandler.hpp index a617fce9b..e0fadbc64 100644 --- a/Machines/MSX/ROMSlotHandler.hpp +++ b/Machines/MSX/ROMSlotHandler.hpp @@ -43,6 +43,8 @@ class MemoryMap { class ROMSlotHandler { public: + virtual ~ROMSlotHandler() {} + /*! Advances time by @c half_cycles. */ virtual void run_for(HalfCycles half_cycles) {} diff --git a/Machines/Utility/Typer.hpp b/Machines/Utility/Typer.hpp index 5304b1a73..e93403523 100644 --- a/Machines/Utility/Typer.hpp +++ b/Machines/Utility/Typer.hpp @@ -26,6 +26,8 @@ class CharacterMapper { /// @returns The EndSequence-terminated sequence of keys that would cause @c character to be typed. virtual uint16_t *sequence_for_character(char character) = 0; + virtual CharacterMaper() {} + protected: typedef uint16_t KeySequence[16]; diff --git a/Storage/Disk/Encodings/MFM/Encoder.cpp b/Storage/Disk/Encodings/MFM/Encoder.cpp index c6c333939..515ed50ef 100644 --- a/Storage/Disk/Encodings/MFM/Encoder.cpp +++ b/Storage/Disk/Encodings/MFM/Encoder.cpp @@ -19,6 +19,7 @@ using namespace Storage::Encodings::MFM; class MFMEncoder: public Encoder { public: MFMEncoder(std::vector &target) : Encoder(target) {} + virtual ~MFMEncoder() {} void add_byte(uint8_t input) { crc_generator_.add(input); diff --git a/Storage/Disk/Track/Track.hpp b/Storage/Disk/Track/Track.hpp index 5075401fc..63d2d7207 100644 --- a/Storage/Disk/Track/Track.hpp +++ b/Storage/Disk/Track/Track.hpp @@ -70,6 +70,8 @@ class HeadPosition { */ class Track { public: + virtual ~Track() {} + /*! Describes the location of a track, implementing < to allow for use as a set key. */