From 8066ce8a6f4b61ddf1847a19ed1bc0618ca3809a Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 22 Jun 2022 13:05:45 +0200 Subject: [PATCH] Remove a the necessity of a few weak vtables For background, see QTBUG-45582. Change-Id: I6c4758ce62149437c26971056b465d5dbd2b13b0 Reviewed-by: Eike Ziller --- src/libs/utils/aspects.cpp | 4 ++++ src/libs/utils/aspects.h | 2 +- src/libs/utils/temporaryfile.cpp | 2 ++ src/libs/utils/temporaryfile.h | 1 + src/plugins/vcsbase/basevcseditorfactory.cpp | 2 ++ src/plugins/vcsbase/basevcseditorfactory.h | 2 ++ src/plugins/vcsbase/basevcssubmiteditorfactory.cpp | 2 ++ src/plugins/vcsbase/basevcssubmiteditorfactory.h | 2 ++ src/plugins/vcsbase/vcsbaseclientsettings.cpp | 2 ++ src/plugins/vcsbase/vcsbaseclientsettings.h | 1 + 10 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/libs/utils/aspects.cpp b/src/libs/utils/aspects.cpp index 998d9fa5cc1..1af70360c1c 100644 --- a/src/libs/utils/aspects.cpp +++ b/src/libs/utils/aspects.cpp @@ -2442,6 +2442,10 @@ void AspectContainerData::append(const BaseAspect::Data::Ptr &data) m_data.append(data); } +// BaseAspect::Data + +BaseAspect::Data::~Data() = default; + void BaseAspect::Data::Ptr::operator=(const Ptr &other) { if (this == &other) diff --git a/src/libs/utils/aspects.h b/src/libs/utils/aspects.h index bade3c9495f..bb39a398cb1 100644 --- a/src/libs/utils/aspects.h +++ b/src/libs/utils/aspects.h @@ -145,7 +145,7 @@ public: // The (unique) address of the "owning" aspect's meta object is used as identifier. using ClassId = const void *; - virtual ~Data() = default; + virtual ~Data(); Id id() const { return m_id; } ClassId classId() const { return m_classId; } diff --git a/src/libs/utils/temporaryfile.cpp b/src/libs/utils/temporaryfile.cpp index 2ee6a3a40a7..06a4ba00200 100644 --- a/src/libs/utils/temporaryfile.cpp +++ b/src/libs/utils/temporaryfile.cpp @@ -36,4 +36,6 @@ TemporaryFile::TemporaryFile(const QString &pattern) : QTC_CHECK(!QFileInfo(pattern).isAbsolute()); } +TemporaryFile::~TemporaryFile() = default; + } // namespace Utils diff --git a/src/libs/utils/temporaryfile.h b/src/libs/utils/temporaryfile.h index 2cb38e39289..a9b02adf429 100644 --- a/src/libs/utils/temporaryfile.h +++ b/src/libs/utils/temporaryfile.h @@ -35,6 +35,7 @@ class QTCREATOR_UTILS_EXPORT TemporaryFile : public QTemporaryFile { public: explicit TemporaryFile(const QString &pattern); + ~TemporaryFile(); }; } // namespace Utils diff --git a/src/plugins/vcsbase/basevcseditorfactory.cpp b/src/plugins/vcsbase/basevcseditorfactory.cpp index 84414bf76da..e97de8f308e 100644 --- a/src/plugins/vcsbase/basevcseditorfactory.cpp +++ b/src/plugins/vcsbase/basevcseditorfactory.cpp @@ -82,4 +82,6 @@ VcsEditorFactory::VcsEditorFactory(const VcsBaseEditorParameters *parameters, setMarksVisible(false); } +VcsEditorFactory::~VcsEditorFactory() = default; + } // namespace VcsBase diff --git a/src/plugins/vcsbase/basevcseditorfactory.h b/src/plugins/vcsbase/basevcseditorfactory.h index ddd90a93dac..bbc57669784 100644 --- a/src/plugins/vcsbase/basevcseditorfactory.h +++ b/src/plugins/vcsbase/basevcseditorfactory.h @@ -41,6 +41,8 @@ public: VcsEditorFactory(const VcsBaseEditorParameters *parameters, const EditorWidgetCreator editorWidgetCreator, std::function describeFunc); + + ~VcsEditorFactory(); }; } // namespace VcsBase diff --git a/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp b/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp index b285f6453d1..ba6d4fe5c62 100644 --- a/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp +++ b/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp @@ -74,4 +74,6 @@ VcsSubmitEditorFactory::VcsSubmitEditorFactory ActionManager::registerAction(&m_diffAction, DIFF_SELECTED, context); } +VcsSubmitEditorFactory::~VcsSubmitEditorFactory() = default; + } // namespace VcsBase diff --git a/src/plugins/vcsbase/basevcssubmiteditorfactory.h b/src/plugins/vcsbase/basevcssubmiteditorfactory.h index f71d61bbbbf..30e1696d335 100644 --- a/src/plugins/vcsbase/basevcssubmiteditorfactory.h +++ b/src/plugins/vcsbase/basevcssubmiteditorfactory.h @@ -53,6 +53,8 @@ public: const EditorCreator &editorCreator, VcsBasePluginPrivate *plugin); + ~VcsSubmitEditorFactory(); + private: QAction m_submitAction; QAction m_diffAction; diff --git a/src/plugins/vcsbase/vcsbaseclientsettings.cpp b/src/plugins/vcsbase/vcsbaseclientsettings.cpp index 00e20342adf..419e26268f9 100644 --- a/src/plugins/vcsbase/vcsbaseclientsettings.cpp +++ b/src/plugins/vcsbase/vcsbaseclientsettings.cpp @@ -75,6 +75,8 @@ VcsBaseSettings::VcsBaseSettings() timeout.setSuffix(tr("s")); } +VcsBaseSettings::~VcsBaseSettings() = default; + FilePaths VcsBaseSettings::searchPathList() const { return Utils::transform(path.value().split(HostOsInfo::pathListSeparator(), Qt::SkipEmptyParts), diff --git a/src/plugins/vcsbase/vcsbaseclientsettings.h b/src/plugins/vcsbase/vcsbaseclientsettings.h index d6597945038..76091f1d3c5 100644 --- a/src/plugins/vcsbase/vcsbaseclientsettings.h +++ b/src/plugins/vcsbase/vcsbaseclientsettings.h @@ -37,6 +37,7 @@ class VCSBASE_EXPORT VcsBaseSettings : public Utils::AspectContainer public: VcsBaseSettings(); + ~VcsBaseSettings(); Utils::StringAspect binaryPath; Utils::StringAspect userName;