diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2016-12-08 15:06:35 +0100 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2016-12-08 14:10:41 +0000 |
commit | 065f1562b3fa6b0db4f44058ea6443a30c623f24 (patch) | |
tree | 6405c18000167c0c16589e043bf35b407ba738ee /src/plugins/projectexplorer/abstractprocessstep.cpp | |
parent | 8b9c6ba4b3afbc8188b4a0e689a5302f01da30d1 (diff) |
AbstractProcessStep: Fix double-free of QFutureInterface
Partial revert of 732b83297302cc9ca4afa7c6632adf8112b1aa19
Change-Id: I22e1af3071b7345eae6459cfdfe5e3699f4ee804
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/projectexplorer/abstractprocessstep.cpp')
-rw-r--r-- | src/plugins/projectexplorer/abstractprocessstep.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/plugins/projectexplorer/abstractprocessstep.cpp b/src/plugins/projectexplorer/abstractprocessstep.cpp index 8e988c09d6..4e64bb09eb 100644 --- a/src/plugins/projectexplorer/abstractprocessstep.cpp +++ b/src/plugins/projectexplorer/abstractprocessstep.cpp @@ -186,7 +186,7 @@ void AbstractProcessStep::run(QFutureInterface<bool> &fi) return; } - m_futureInterface.reset(&fi); + m_futureInterface = &fi; m_process.reset(new Utils::QtcProcess()); m_process->setUseCtrlCStub(Utils::HostOsInfo::isWindowsHost()); @@ -222,8 +222,7 @@ void AbstractProcessStep::cleanUp() m_process.reset(); // Report result - reportRunResult(*(m_futureInterface.get()), returnValue); - m_futureInterface.reset(); + reportRunResult(*m_futureInterface, returnValue); } /*! @@ -338,7 +337,7 @@ void AbstractProcessStep::stdError(const QString &line) QFutureInterface<bool> *AbstractProcessStep::futureInterface() const { - return m_futureInterface.get(); + return m_futureInterface; } void AbstractProcessStep::checkForCancel() |