diff options
Diffstat (limited to 'src/corelib/io/qprocess_win.cpp')
-rw-r--r-- | src/corelib/io/qprocess_win.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/corelib/io/qprocess_win.cpp b/src/corelib/io/qprocess_win.cpp index dc8c50127d..0088284d2d 100644 --- a/src/corelib/io/qprocess_win.cpp +++ b/src/corelib/io/qprocess_win.cpp @@ -869,6 +869,7 @@ bool QProcessPrivate::startDetached(qint64 *pid) static const DWORD errorElevationRequired = 740; if (!openChannelsForDetached()) { + // openChannel sets the error string closeChannel(&stdinChannel); closeChannel(&stdoutChannel); closeChannel(&stderrChannel); @@ -913,6 +914,11 @@ bool QProcessPrivate::startDetached(qint64 *pid) success = startDetachedUacPrompt(program, arguments, nativeArguments, workingDirectory, pid); } + if (!success) { + if (pid) + *pid = -1; + setErrorAndEmit(QProcess::FailedToStart); + } closeChannel(&stdinChannel); closeChannel(&stdoutChannel); |