diff options
Diffstat (limited to 'src/libs/utils/qtcprocess.cpp')
| -rw-r--r-- | src/libs/utils/qtcprocess.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp index 42a0165b0d..6384aef7d3 100644 --- a/src/libs/utils/qtcprocess.cpp +++ b/src/libs/utils/qtcprocess.cpp @@ -752,7 +752,7 @@ void QtcProcess::start() #endif // Note: Arguments set with setNativeArgs will be appended to the ones // passed with start() below. - QProcess::start(command, QStringList()); + QProcess::start(command, QStringList(), m_openMode); } else { if (!success) { setErrorString(tr("Error in command line.")); @@ -761,7 +761,7 @@ void QtcProcess::start() emit errorOccurred(QProcess::UnknownError); return; } - QProcess::start(command, arguments.toUnixArgs()); + QProcess::start(command, arguments.toUnixArgs(), m_openMode); } if (m_synchronous) @@ -1275,6 +1275,22 @@ void QtcProcess::setSynchronous(bool on) m_synchronous = on; } +void QtcProcess::setOpenMode(OpenMode mode) +{ + m_openMode = mode; +} + +bool QtcProcess::stopProcess() +{ + if (state() == QProcess::NotRunning) + return true; + terminate(); + if (waitForFinished(300)) + return true; + kill(); + return waitForFinished(300); +} + bool QtcProcess::ArgIterator::next() { // We delay the setting of m_prev so we can still delete the last argument |
