diff options
author | Ivan Komissarov <abbapoh@gmail.com> | 2021-05-13 01:08:23 +0200 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2021-05-13 16:27:05 +0000 |
commit | 1cd7ba74dc253a111ab3ff115547842c90421b94 (patch) | |
tree | 1680f3a8abeac830ef0c1b0100145823ce3a5e46 /src | |
parent | 2ca976dc2c9025ce41ed785b9b2c9f1249c81526 (diff) |
Do not use manual memory management for d-pointers
Change-Id: Ifde88ede2f9ac65f2406ef62b4115534f6fe7135
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/app/qbs/parser/commandlineparser.cpp | 12 | ||||
-rw-r--r-- | src/app/qbs/parser/commandlineparser.h | 4 | ||||
-rw-r--r-- | src/lib/corelib/api/runenvironment.cpp | 9 | ||||
-rw-r--r-- | src/lib/corelib/api/runenvironment.h | 4 | ||||
-rw-r--r-- | src/lib/corelib/generators/generator.cpp | 7 | ||||
-rw-r--r-- | src/lib/corelib/generators/generator.h | 4 | ||||
-rw-r--r-- | src/lib/corelib/jsextensions/propertylist_darwin.h | 4 | ||||
-rw-r--r-- | src/lib/corelib/jsextensions/propertylist_darwin.mm | 7 | ||||
-rw-r--r-- | src/lib/corelib/logging/ilogsink.cpp | 7 | ||||
-rw-r--r-- | src/lib/corelib/logging/ilogsink.h | 4 | ||||
-rw-r--r-- | src/lib/corelib/tools/profiling.cpp | 5 | ||||
-rw-r--r-- | src/lib/corelib/tools/profiling.h | 4 | ||||
-rw-r--r-- | src/lib/corelib/tools/settingsmodel.cpp | 8 | ||||
-rw-r--r-- | src/lib/corelib/tools/settingsmodel.h | 4 | ||||
-rw-r--r-- | src/lib/msbuild/io/msbuildprojectwriter.cpp | 9 | ||||
-rw-r--r-- | src/lib/msbuild/io/msbuildprojectwriter.h | 4 |
16 files changed, 44 insertions, 52 deletions
diff --git a/src/app/qbs/parser/commandlineparser.cpp b/src/app/qbs/parser/commandlineparser.cpp index 052f6b92f..5d3c14ebb 100644 --- a/src/app/qbs/parser/commandlineparser.cpp +++ b/src/app/qbs/parser/commandlineparser.cpp @@ -111,14 +111,9 @@ public: bool logTime; }; -CommandLineParser::CommandLineParser() : d(nullptr) -{ -} +CommandLineParser::CommandLineParser() = default; -CommandLineParser::~CommandLineParser() -{ - delete d; -} +CommandLineParser::~CommandLineParser() = default; void CommandLineParser::printHelp() const { @@ -309,8 +304,7 @@ QList<QVariantMap> CommandLineParser::buildConfigurations() const bool CommandLineParser::parseCommandLine(const QStringList &args) { - delete d; - d = new CommandLineParserPrivate; + d = std::make_unique<CommandLineParserPrivate>(); d->commandLine = args; try { d->doParse(); diff --git a/src/app/qbs/parser/commandlineparser.h b/src/app/qbs/parser/commandlineparser.h index d47657b16..70586b2d4 100644 --- a/src/app/qbs/parser/commandlineparser.h +++ b/src/app/qbs/parser/commandlineparser.h @@ -44,6 +44,8 @@ #include <QtCore/qstringlist.h> #include <QtCore/qvariant.h> +#include <memory> + namespace qbs { class BuildOptions; class CleanOptions; @@ -90,7 +92,7 @@ public: private: class CommandLineParserPrivate; - CommandLineParserPrivate *d; + std::unique_ptr<CommandLineParserPrivate> d; }; } // namespace qbs diff --git a/src/lib/corelib/api/runenvironment.cpp b/src/lib/corelib/api/runenvironment.cpp index 8cea759a8..f54914964 100644 --- a/src/lib/corelib/api/runenvironment.cpp +++ b/src/lib/corelib/api/runenvironment.cpp @@ -109,15 +109,12 @@ RunEnvironment::RunEnvironment(const ResolvedProductPtr &product, const TopLevelProjectConstPtr &project, const InstallOptions &installOptions, const QProcessEnvironment &environment, const QStringList &setupRunEnvConfig, Settings *settings, const Logger &logger) - : d(new RunEnvironmentPrivate(product, project, installOptions, environment, setupRunEnvConfig, - settings, logger)) + : d(std::make_unique<RunEnvironmentPrivate>(product, project, installOptions, environment, + setupRunEnvConfig, settings, logger)) { } -RunEnvironment::~RunEnvironment() -{ - delete d; -} +RunEnvironment::~RunEnvironment() = default; int RunEnvironment::runShell(ErrorInfo *error) { diff --git a/src/lib/corelib/api/runenvironment.h b/src/lib/corelib/api/runenvironment.h index b95bfbf85..4a967ba63 100644 --- a/src/lib/corelib/api/runenvironment.h +++ b/src/lib/corelib/api/runenvironment.h @@ -46,6 +46,8 @@ #include <QtCore/qglobal.h> #include <QtCore/qstringlist.h> +#include <memory> + QT_BEGIN_NAMESPACE class QProcess; class QProcessEnvironment; @@ -95,7 +97,7 @@ private: const QProcessEnvironment getBuildEnvironment() const; class RunEnvironmentPrivate; - RunEnvironmentPrivate * const d; + const std::unique_ptr<RunEnvironmentPrivate> d; }; } // namespace qbs diff --git a/src/lib/corelib/generators/generator.cpp b/src/lib/corelib/generators/generator.cpp index 90bebdcaa..d3cdce412 100644 --- a/src/lib/corelib/generators/generator.cpp +++ b/src/lib/corelib/generators/generator.cpp @@ -58,14 +58,11 @@ public: }; ProjectGenerator::ProjectGenerator() - : d(new ProjectGeneratorPrivate) + : d(std::make_unique<ProjectGeneratorPrivate>()) { } -ProjectGenerator::~ProjectGenerator() -{ - delete d; -} +ProjectGenerator::~ProjectGenerator() = default; static QString _configurationName(const Project &project) { diff --git a/src/lib/corelib/generators/generator.h b/src/lib/corelib/generators/generator.h index 775469f18..a7cc56b51 100644 --- a/src/lib/corelib/generators/generator.h +++ b/src/lib/corelib/generators/generator.h @@ -45,6 +45,8 @@ #include <QtCore/qlist.h> #include <QtCore/qstring.h> +#include <memory> + namespace qbs { class ProjectGeneratorPrivate; @@ -89,7 +91,7 @@ private: QVariantMap buildConfiguration(const Project &project) const; QStringList buildConfigurationCommandLine(const Project &project) const; - ProjectGeneratorPrivate *d; + const std::unique_ptr<ProjectGeneratorPrivate> d; }; } // namespace qbs diff --git a/src/lib/corelib/jsextensions/propertylist_darwin.h b/src/lib/corelib/jsextensions/propertylist_darwin.h index 75900b144..279309681 100644 --- a/src/lib/corelib/jsextensions/propertylist_darwin.h +++ b/src/lib/corelib/jsextensions/propertylist_darwin.h @@ -50,6 +50,8 @@ #include <QtScript/qscriptable.h> #include <QtScript/qscriptvalue.h> +#include <memory> + namespace qbs { namespace Internal { @@ -78,7 +80,7 @@ public: Q_INVOKABLE QString toXMLString() const; Q_INVOKABLE QString toJSON(const QString &style = QString()) const; private: - PropertyListPrivate *d; + const std::unique_ptr<PropertyListPrivate> d; }; } // namespace Internal diff --git a/src/lib/corelib/jsextensions/propertylist_darwin.mm b/src/lib/corelib/jsextensions/propertylist_darwin.mm index 7a08b5e9f..caf9feb3e 100644 --- a/src/lib/corelib/jsextensions/propertylist_darwin.mm +++ b/src/lib/corelib/jsextensions/propertylist_darwin.mm @@ -94,13 +94,10 @@ PropertyListPrivate::PropertyListPrivate() { } -PropertyList::~PropertyList() -{ - delete d; -} +PropertyList::~PropertyList() = default; PropertyList::PropertyList(QScriptContext *context) -: d(new PropertyListPrivate) + : d(std::make_unique<PropertyListPrivate>()) { Q_UNUSED(context); Q_ASSERT(thisObject().engine() == engine()); diff --git a/src/lib/corelib/logging/ilogsink.cpp b/src/lib/corelib/logging/ilogsink.cpp index 4eb930cbf..20cf52bcd 100644 --- a/src/lib/corelib/logging/ilogsink.cpp +++ b/src/lib/corelib/logging/ilogsink.cpp @@ -82,14 +82,11 @@ public: std::mutex mutex; }; -ILogSink::ILogSink() : d(new ILogSinkPrivate) +ILogSink::ILogSink() : d(std::make_unique<ILogSinkPrivate>()) { } -ILogSink::~ILogSink() -{ - delete d; -} +ILogSink::~ILogSink() = default; void ILogSink::setLogLevel(LoggerLevel level) { diff --git a/src/lib/corelib/logging/ilogsink.h b/src/lib/corelib/logging/ilogsink.h index 4b25aa7b8..0a055abc1 100644 --- a/src/lib/corelib/logging/ilogsink.h +++ b/src/lib/corelib/logging/ilogsink.h @@ -43,6 +43,8 @@ #include <QtCore/qstring.h> +#include <memory> + namespace qbs { class ErrorInfo; @@ -83,7 +85,7 @@ private: const QString &tag) = 0; class ILogSinkPrivate; - ILogSinkPrivate * const d; + const std::unique_ptr<ILogSinkPrivate> d; }; } // namespace qbs diff --git a/src/lib/corelib/tools/profiling.cpp b/src/lib/corelib/tools/profiling.cpp index 7e3559b54..db64a73c6 100644 --- a/src/lib/corelib/tools/profiling.cpp +++ b/src/lib/corelib/tools/profiling.cpp @@ -61,7 +61,7 @@ TimedActivityLogger::TimedActivityLogger(const Logger &logger, const QString &ac { if (!enabled) return; - d = new TimedActivityLoggerPrivate; + d = std::make_unique<TimedActivityLoggerPrivate>(); d->logger = logger; d->activity = activity; d->logger.qbsLog(LoggerInfo, true) << Tr::tr("Starting activity '%2'.").arg(activity); @@ -75,8 +75,7 @@ void TimedActivityLogger::finishActivity() const QString timeString = elapsedTimeString(d->timer.elapsed()); d->logger.qbsLog(LoggerInfo, true) << Tr::tr("Activity '%2' took %3.").arg(d->activity, timeString); - delete d; - d = nullptr; + d.reset(); } TimedActivityLogger::~TimedActivityLogger() diff --git a/src/lib/corelib/tools/profiling.h b/src/lib/corelib/tools/profiling.h index 89f862ff9..c6fc9ede7 100644 --- a/src/lib/corelib/tools/profiling.h +++ b/src/lib/corelib/tools/profiling.h @@ -42,6 +42,8 @@ #include <QtCore/qelapsedtimer.h> +#include <memory> + QT_BEGIN_NAMESPACE class QString; QT_END_NAMESPACE @@ -61,7 +63,7 @@ public: private: class TimedActivityLoggerPrivate; - TimedActivityLoggerPrivate *d; + std::unique_ptr<TimedActivityLoggerPrivate> d; }; class AccumulatingTimer diff --git a/src/lib/corelib/tools/settingsmodel.cpp b/src/lib/corelib/tools/settingsmodel.cpp index 7192ef45f..7b75cc050 100644 --- a/src/lib/corelib/tools/settingsmodel.cpp +++ b/src/lib/corelib/tools/settingsmodel.cpp @@ -123,17 +123,15 @@ public: }; SettingsModel::SettingsModel(const QString &settingsDir, Settings::Scope scope, QObject *parent) - : QAbstractItemModel(parent), d(new SettingsModelPrivate) + : QAbstractItemModel(parent), + d(std::make_unique<SettingsModelPrivate>()) { d->settings = std::make_unique<qbs::Settings>(settingsDir); d->settings->setScopeForWriting(scope); d->readSettings(); } -SettingsModel::~SettingsModel() -{ - delete d; -} +SettingsModel::~SettingsModel() = default; void SettingsModel::reload() { diff --git a/src/lib/corelib/tools/settingsmodel.h b/src/lib/corelib/tools/settingsmodel.h index 1bd59737c..63651d300 100644 --- a/src/lib/corelib/tools/settingsmodel.h +++ b/src/lib/corelib/tools/settingsmodel.h @@ -46,6 +46,8 @@ #include <QtCore/qabstractitemmodel.h> #include <QtCore/qvariant.h> +#include <memory> + namespace qbs { class QBS_EXPORT SettingsModel : public QAbstractItemModel @@ -81,7 +83,7 @@ public: private: class SettingsModelPrivate; - SettingsModelPrivate * const d; + const std::unique_ptr<SettingsModelPrivate> d; }; } // namespace qbs diff --git a/src/lib/msbuild/io/msbuildprojectwriter.cpp b/src/lib/msbuild/io/msbuildprojectwriter.cpp index aaab11aa6..986458a7f 100644 --- a/src/lib/msbuild/io/msbuildprojectwriter.cpp +++ b/src/lib/msbuild/io/msbuildprojectwriter.cpp @@ -86,23 +86,20 @@ public: }; MSBuildProjectWriter::MSBuildProjectWriter(std::ostream *device) - : d(new MSBuildProjectWriterPrivate) + : d(std::make_unique<MSBuildProjectWriterPrivate>()) { d->device = device; d->writer = std::make_unique<QXmlStreamWriter>(&d->buffer); d->writer->setAutoFormatting(true); } -MSBuildProjectWriter::~MSBuildProjectWriter() -{ - delete d; -} +MSBuildProjectWriter::~MSBuildProjectWriter() = default; bool MSBuildProjectWriter::write(const MSBuildProject *project) { d->buffer.clear(); d->writer->writeStartDocument(); - project->accept(d); + project->accept(d.get()); d->writer->writeEndDocument(); if (d->writer->hasError()) return false; diff --git a/src/lib/msbuild/io/msbuildprojectwriter.h b/src/lib/msbuild/io/msbuildprojectwriter.h index cfe6beb7b..9feb347c5 100644 --- a/src/lib/msbuild/io/msbuildprojectwriter.h +++ b/src/lib/msbuild/io/msbuildprojectwriter.h @@ -35,6 +35,8 @@ #include <QtCore/qglobal.h> +#include <memory> + namespace qbs { class MSBuildProject; @@ -50,7 +52,7 @@ public: bool write(const MSBuildProject *project); private: - MSBuildProjectWriterPrivate *d; + const std::unique_ptr<MSBuildProjectWriterPrivate> d; }; } // namespace qbs |