aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/abstractprocessstep.cpp
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2016-12-08 15:06:35 +0100
committerTobias Hunger <tobias.hunger@qt.io>2016-12-08 14:10:41 +0000
commit065f1562b3fa6b0db4f44058ea6443a30c623f24 (patch)
tree6405c18000167c0c16589e043bf35b407ba738ee /src/plugins/projectexplorer/abstractprocessstep.cpp
parent8b9c6ba4b3afbc8188b4a0e689a5302f01da30d1 (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.cpp7
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()