diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp index a9901694515..122415601e2 100644 --- a/src/libs/utils/qtcprocess.cpp +++ b/src/libs/utils/qtcprocess.cpp @@ -236,12 +236,12 @@ public: void setEnvironment(const Environment &) override { QTC_CHECK(false); } void start(const QString &, const QStringList &) override { QTC_CHECK(false); } - void customStart(const CommandLine &command, const Environment &environment) override + void customStart() override { m_terminal.setAbortOnMetaChars(m_setup.m_abortOnMetaChars); - m_terminal.setCommand(command); + m_terminal.setCommand(m_setup.m_commandLine); m_terminal.setWorkingDirectory(m_setup.m_workingDirectory); - m_terminal.setEnvironment(environment); + m_terminal.setEnvironment(m_setup.m_environment); m_terminal.start(); } bool isCustomStart() const override { return true; } @@ -785,10 +785,12 @@ void QtcProcess::start() } d->ensureProcessInterfaceExists(); d->clearForRun(); + d->m_process->m_setup.m_commandLine = d->fullCommandLine(); + d->m_process->m_setup.m_environment = d->fullEnvironment(); const CommandLine cmd = d->fullCommandLine(); const Environment env = d->fullEnvironment(); if (d->m_process->isCustomStart()) - d->m_process->customStart(cmd, env); + d->m_process->customStart(); else d->defaultStart(cmd, env); } diff --git a/src/libs/utils/qtcprocess.h b/src/libs/utils/qtcprocess.h index 06ffa5f6e5a..f12830e7fdf 100644 --- a/src/libs/utils/qtcprocess.h +++ b/src/libs/utils/qtcprocess.h @@ -284,7 +284,7 @@ public: virtual void setEnvironment(const Environment &environment) = 0; virtual void start(const QString &program, const QStringList &arguments) = 0; - virtual void customStart(const CommandLine &, const Environment &) { QTC_CHECK(false); } + virtual void customStart() { QTC_CHECK(false); } virtual bool isCustomStart() const { return false; } virtual void terminate() = 0; virtual void kill() = 0;