From 19913abe592d1fb7c3f2dd721e8268dee087be80 Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Thu, 13 May 2021 00:36:44 +0200 Subject: Use std::unique_ptr in qbs::Internal::Process Allows to make dtor trivial Change-Id: I08e8ab2559a6b6314c6bbb523869deb9d20f53d9 Reviewed-by: Denis Shienkov --- src/lib/corelib/jsextensions/process.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/lib/corelib/jsextensions/process.cpp b/src/lib/corelib/jsextensions/process.cpp index 8ddb48acd..8257be6dc 100644 --- a/src/lib/corelib/jsextensions/process.cpp +++ b/src/lib/corelib/jsextensions/process.cpp @@ -66,7 +66,6 @@ class Process : public QObject, public QScriptable, public ResourceAcquiringScri public: static QScriptValue ctor(QScriptContext *context, QScriptEngine *engine); Process(QScriptContext *context); - ~Process() override; Q_INVOKABLE QString getEnv(const QString &name); Q_INVOKABLE void setEnv(const QString &name, const QString &value); @@ -103,7 +102,7 @@ private: // ResourceAcquiringScriptObject implementation void releaseResources() override; - QProcess *m_qProcess = nullptr; + std::unique_ptr m_qProcess; QProcessEnvironment m_environment; QString m_workingDirectory; QTextCodec *m_codec = nullptr; @@ -144,17 +143,12 @@ QScriptValue Process::ctor(QScriptContext *context, QScriptEngine *engine) return obj; } -Process::~Process() -{ - delete m_qProcess; -} - Process::Process(QScriptContext *context) { Q_UNUSED(context); Q_ASSERT(thisObject().engine() == engine()); - m_qProcess = new QProcess; + m_qProcess = std::make_unique(); m_codec = QTextCodec::codecForName("UTF-8"); } @@ -236,8 +230,7 @@ void Process::close() if (!m_qProcess) return; Q_ASSERT(thisObject().engine() == engine()); - delete m_qProcess; - m_qProcess = nullptr; + m_qProcess.reset(); } bool Process::waitForFinished(int msecs) -- cgit v1.2.3