forked from qt-creator/qt-creator
QtcProcess: Ensure we set the data just after creating handle
...instead of ensuring in many functions that m_setup isn't null. This amends36c49cd2ea
and solves the issue for other functions like processId(), exitCode(), etc... Amends36c49cd2ea
Change-Id: I986f7b30e90e5825ae2bb57b4bc2aa14f56e401f Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -337,14 +337,12 @@ int CallerHandle::exitCode() const
|
|||||||
QString CallerHandle::errorString() const
|
QString CallerHandle::errorString() const
|
||||||
{
|
{
|
||||||
QTC_ASSERT(isCalledFromCallersThread(), return {});
|
QTC_ASSERT(isCalledFromCallersThread(), return {});
|
||||||
QTC_ASSERT(m_setup.get(), return {});
|
|
||||||
return m_setup->m_errorString;
|
return m_setup->m_errorString;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CallerHandle::setErrorString(const QString &str)
|
void CallerHandle::setErrorString(const QString &str)
|
||||||
{
|
{
|
||||||
QTC_ASSERT(isCalledFromCallersThread(), return);
|
QTC_ASSERT(isCalledFromCallersThread(), return);
|
||||||
QTC_ASSERT(m_setup.get(), return);
|
|
||||||
m_setup->m_errorString = str;
|
m_setup->m_errorString = str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -485,6 +485,7 @@ public:
|
|||||||
ProcessLauncherImpl() : m_token(uniqueToken())
|
ProcessLauncherImpl() : m_token(uniqueToken())
|
||||||
{
|
{
|
||||||
m_handle = LauncherInterface::registerHandle(this, token());
|
m_handle = LauncherInterface::registerHandle(this, token());
|
||||||
|
m_handle->setProcessSetupData(m_setup);
|
||||||
connect(m_handle, &CallerHandle::errorOccurred,
|
connect(m_handle, &CallerHandle::errorOccurred,
|
||||||
this, &ProcessInterface::errorOccurred);
|
this, &ProcessInterface::errorOccurred);
|
||||||
connect(m_handle, &CallerHandle::started,
|
connect(m_handle, &CallerHandle::started,
|
||||||
@@ -526,7 +527,6 @@ public:
|
|||||||
private:
|
private:
|
||||||
void doDefaultStart(const QString &program, const QStringList &arguments) override
|
void doDefaultStart(const QString &program, const QStringList &arguments) override
|
||||||
{
|
{
|
||||||
m_handle->setProcessSetupData(m_setup);
|
|
||||||
m_handle->start(program, arguments);
|
m_handle->start(program, arguments);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user