diff options
author | Ivan Komissarov <abbapoh@gmail.com> | 2021-05-13 00:36:44 +0200 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2021-05-13 13:25:48 +0000 |
commit | 19913abe592d1fb7c3f2dd721e8268dee087be80 (patch) | |
tree | 889536cf694a228fd0b1153ce2d92e0124fa5cea | |
parent | 8d304da7be15a62314aa73625da5aa3ff11bbd60 (diff) |
Use std::unique_ptr in qbs::Internal::Process
Allows to make dtor trivial
Change-Id: I08e8ab2559a6b6314c6bbb523869deb9d20f53d9
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
-rw-r--r-- | src/lib/corelib/jsextensions/process.cpp | 13 |
1 files 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<QProcess> 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<QProcess>(); 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) |