diff --git a/src/AudacityLogger.cpp b/src/AudacityLogger.cpp index a11fbad60..5e2e22f65 100644 --- a/src/AudacityLogger.cpp +++ b/src/AudacityLogger.cpp @@ -79,6 +79,8 @@ AudacityLogger::AudacityLogger() mUpdated = false; } +AudacityLogger::~AudacityLogger() = default; + void AudacityLogger::Flush() { if (mUpdated && mFrame && mFrame->IsShown()) { diff --git a/src/AudacityLogger.h b/src/AudacityLogger.h index 925619b97..caab2b194 100644 --- a/src/AudacityLogger.h +++ b/src/AudacityLogger.h @@ -31,6 +31,8 @@ class AudacityLogger final : public wxEvtHandler, public PrefsListener { public: + + ~AudacityLogger() override; // Get the singleton instance or null static AudacityLogger *Get(); diff --git a/src/ModuleManager.h b/src/ModuleManager.h index 084a46f71..ff38f29e6 100644 --- a/src/ModuleManager.h +++ b/src/ModuleManager.h @@ -107,6 +107,8 @@ private: // I'm a singleton class ModuleManager(); ~ModuleManager(); + ModuleManager(const ModuleManager&) PROHIBITED; + ModuleManager &operator=(const ModuleManager&) PROHIBITED; void InitializeBuiltins(); ModuleInterface *LoadModule(const PluginPath & path); diff --git a/src/Registry.h b/src/Registry.h index 759dd9939..e529cf563 100644 --- a/src/Registry.h +++ b/src/Registry.h @@ -131,6 +131,7 @@ namespace Registry { GroupItem( const Identifier &internalName, BaseItemPtrs &&items_ ) : BaseItem{ internalName }, items{ std::move( items_ ) } {} + GroupItem( const GroupItem& ) PROHIBITED; ~GroupItem() override = 0; // Whether the item is non-significant for path naming diff --git a/src/commands/CommandSignature.cpp b/src/commands/CommandSignature.cpp index 3434a5af7..00f12573c 100644 --- a/src/commands/CommandSignature.cpp +++ b/src/commands/CommandSignature.cpp @@ -16,6 +16,8 @@ #include "CommandSignature.h" +CommandSignature::CommandSignature() = default; + CommandSignature::~CommandSignature() { } diff --git a/src/commands/CommandSignature.h b/src/commands/CommandSignature.h index 3d618285a..623a73512 100644 --- a/src/commands/CommandSignature.h +++ b/src/commands/CommandSignature.h @@ -30,9 +30,10 @@ class CommandSignature private: ParamValueMap mDefaults; ValidatorMap mValidators; - explicit CommandSignature(const CommandSignature & WXUNUSED(other)) { } + CommandSignature(const CommandSignature &) PROHIBITED; + CommandSignature& operator=(const CommandSignature &) PROHIBITED; public: - explicit CommandSignature() { } + explicit CommandSignature(); ~CommandSignature(); // Add a parameter to the signature. diff --git a/src/import/Import.h b/src/import/Import.h index a67edaaaa..5272059f8 100644 --- a/src/import/Import.h +++ b/src/import/Import.h @@ -98,6 +98,9 @@ public: Importer(); ~Importer(); + Importer( const Importer& ) PROHIBITED; + Importer &operator=( Importer& ) PROHIBITED; + /** * Return instance reference */ @@ -156,7 +159,7 @@ public: * Returns a pointer to internal items array. * External objects are allowed to change the array contents. */ - ExtImportItems &GetImportItems() { return mExtImportItems; }; + ExtImportItems &GetImportItems() { return mExtImportItems; } /** * Allocates NEW ExtImportItem, fills it with default data diff --git a/src/import/ImportPlugin.cpp b/src/import/ImportPlugin.cpp index 3ea486369..de5f8f984 100644 --- a/src/import/ImportPlugin.cpp +++ b/src/import/ImportPlugin.cpp @@ -15,6 +15,24 @@ Paul Licameli split from Import.cpp #include "../widgets/ProgressDialog.h" #include "../prefs/QualityPrefs.h" +ImportPlugin::ImportPlugin(FileExtensions supportedExtensions): + mExtensions( std::move( supportedExtensions ) ) +{ +} + +ImportPlugin::~ImportPlugin() = default; + +FileExtensions ImportPlugin::GetSupportedExtensions() +{ + return mExtensions; +} + +bool ImportPlugin::SupportsExtension(const FileExtension &extension) +{ + // Case-insensitive check if extension is supported + return mExtensions.Index(extension, false) != wxNOT_FOUND; +} + ImportFileHandle::ImportFileHandle(const FilePath & filename) : mFilename(filename) { diff --git a/src/import/ImportPlugin.h b/src/import/ImportPlugin.h index 03f2e5978..71caab36b 100644 --- a/src/import/ImportPlugin.h +++ b/src/import/ImportPlugin.h @@ -77,16 +77,9 @@ public: // Get a list of extensions this plugin expects to be able to // import. If a filename matches any of these extensions, // this importer will get first dibs on importing it. - virtual FileExtensions GetSupportedExtensions() - { - return mExtensions; - } + virtual FileExtensions GetSupportedExtensions(); - bool SupportsExtension(const FileExtension &extension) - { - // Case-insensitive check if extension is supported - return mExtensions.Index(extension, false) != wxNOT_FOUND; - } + bool SupportsExtension(const FileExtension &extension); // Open the given file, returning true if it is in a recognized // format, false otherwise. This puts the importer into the open @@ -94,14 +87,11 @@ public: virtual std::unique_ptr Open( const FilePath &Filename, AudacityProject*) = 0; - virtual ~ImportPlugin() { } + virtual ~ImportPlugin(); protected: - ImportPlugin(FileExtensions supportedExtensions): - mExtensions( std::move( supportedExtensions ) ) - { - } + ImportPlugin(FileExtensions supportedExtensions); const FileExtensions mExtensions; }; diff --git a/src/tracks/ui/TimeShiftHandle.cpp b/src/tracks/ui/TimeShiftHandle.cpp index 084592cf3..fd349fa0a 100644 --- a/src/tracks/ui/TimeShiftHandle.cpp +++ b/src/tracks/ui/TimeShiftHandle.cpp @@ -111,6 +111,8 @@ void ClipMoveState::DoHorizontalOffset( double offset ) } } +TrackShifter::TrackShifter() = default; + TrackShifter::~TrackShifter() = default; void TrackShifter::UnfixIntervals( diff --git a/src/tracks/ui/TimeShiftHandle.h b/src/tracks/ui/TimeShiftHandle.h index 9dde7dfe3..f095ecb3b 100644 --- a/src/tracks/ui/TimeShiftHandle.h +++ b/src/tracks/ui/TimeShiftHandle.h @@ -30,6 +30,10 @@ class ViewInfo; //! Abstract base class for policies to manipulate a track type with the Time Shift tool class TrackShifter { public: + TrackShifter(); + TrackShifter(const TrackShifter&) PROHIBITED; + TrackShifter &operator=(const TrackShifter&) PROHIBITED; + virtual ~TrackShifter() = 0; //! There is always an associated track virtual Track &GetTrack() const = 0; @@ -196,6 +200,14 @@ using MakeTrackShifter = AttachedVirtualFunction< class ViewInfo; struct ClipMoveState { + ClipMoveState() = default; + + ClipMoveState(const ClipMoveState&) PROHIBITED; + ClipMoveState& operator =(const ClipMoveState&) PROHIBITED; + + ClipMoveState(ClipMoveState&&) = default; + ClipMoveState& operator =(ClipMoveState&&) = default; + using ShifterMap = std::unordered_map>; //! Will associate a TrackShifter with each track in the list diff --git a/src/widgets/ImageRoll.cpp b/src/widgets/ImageRoll.cpp index 932ed98b0..ded589ac4 100644 --- a/src/widgets/ImageRoll.cpp +++ b/src/widgets/ImageRoll.cpp @@ -102,6 +102,10 @@ #include #include +ImageRoll::ImageRoll(const ImageRoll&) = default; +ImageRoll &ImageRoll::operator =(const ImageRoll&) = default; +ImageRoll::~ImageRoll() = default; + // static ImageArray ImageRoll::SplitH(const wxImage &src, wxColour magicColor) { diff --git a/src/widgets/ImageRoll.h b/src/widgets/ImageRoll.h index 915f5804c..0424e97b9 100644 --- a/src/widgets/ImageRoll.h +++ b/src/widgets/ImageRoll.h @@ -38,6 +38,9 @@ class ImageRoll ImageRoll(); ImageRoll(const wxImage &src); ImageRoll(RollType type, const wxImage &src, wxColour magicColor); + ImageRoll(const ImageRoll&); + ImageRoll &operator =(const ImageRoll&); + ~ImageRoll(); bool Ok() const; diff --git a/src/widgets/NumericTextCtrl.cpp b/src/widgets/NumericTextCtrl.cpp index 80944be91..4c8937a0b 100644 --- a/src/widgets/NumericTextCtrl.cpp +++ b/src/widgets/NumericTextCtrl.cpp @@ -938,6 +938,8 @@ void NumericConverter::PrintDebugInfo() wxPrintf("\n"); } +NumericConverter::NumericConverter(const NumericConverter&) = default; + NumericConverter::~NumericConverter() { } diff --git a/src/widgets/NumericTextCtrl.h b/src/widgets/NumericTextCtrl.h index 2f2c74ceb..cb6e5452b 100644 --- a/src/widgets/NumericTextCtrl.h +++ b/src/widgets/NumericTextCtrl.h @@ -85,6 +85,7 @@ public: const NumericFormatSymbol & formatName = {}, double value = 0.0f, double sampleRate = 1.0f /* to prevent div by 0 */); + NumericConverter(const NumericConverter&); virtual ~NumericConverter();