diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp index b6f8b55bcfa..863601cab41 100644 --- a/src/libs/utils/qtcprocess.cpp +++ b/src/libs/utils/qtcprocess.cpp @@ -467,7 +467,6 @@ public: void setProcessInterface(ProcessInterface *process) { m_process.reset(process); - m_process->m_setup = m_setup; m_setup.m_errorString.clear(); m_process->setParent(this); @@ -700,6 +699,7 @@ QtcProcess::~QtcProcess() void QtcProcess::setProcessInterface(ProcessInterface *interface) { d->setProcessInterface(interface); + d->m_process->m_setup = d->m_setup; } void QtcProcess::setProcessImpl(ProcessImpl processImpl) diff --git a/src/libs/utils/qtcprocess.h b/src/libs/utils/qtcprocess.h index 411f34b60ef..f4ff6cde268 100644 --- a/src/libs/utils/qtcprocess.h +++ b/src/libs/utils/qtcprocess.h @@ -302,8 +302,6 @@ public: virtual void interruptProcess() { QTC_CHECK(false); } virtual qint64 applicationMainThreadID() const { QTC_CHECK(false); return -1; } - ProcessSetupData m_setup; - signals: void started(); void finished(); @@ -314,11 +312,14 @@ signals: protected: void defaultStart(); + ProcessSetupData m_setup; + private: virtual void doDefaultStart(const QString &program, const QStringList &arguments) { Q_UNUSED(program) Q_UNUSED(arguments) QTC_CHECK(false); } bool dissolveCommand(QString *program, QStringList *arguments); bool ensureProgramExists(const QString &program); + friend class QtcProcess; };