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/lib/corelib/tools | |
parent | 2ca976dc2c9025ce41ed785b9b2c9f1249c81526 (diff) | |
download | qbs-1cd7ba74dc253a111ab3ff115547842c90421b94.tar.gz |
Do not use manual memory management for d-pointers
Change-Id: Ifde88ede2f9ac65f2406ef62b4115534f6fe7135
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Diffstat (limited to 'src/lib/corelib/tools')
-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 |
4 files changed, 11 insertions, 10 deletions
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 |