summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/io/qprocess.cpp3
-rw-r--r--src/platformsupport/services/genericunix/qgenericunixservices.cpp6
2 files changed, 7 insertions, 2 deletions
diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp
index 9400662b97..4500467ac2 100644
--- a/src/corelib/io/qprocess.cpp
+++ b/src/corelib/io/qprocess.cpp
@@ -2522,7 +2522,8 @@ int QProcess::execute(const QString &command)
QStringList args = splitCommand(command);
if (args.isEmpty())
return -2;
- return execute(args.takeFirst(), args);
+ QString program = args.takeFirst();
+ return execute(program, args);
}
/*!
diff --git a/src/platformsupport/services/genericunix/qgenericunixservices.cpp b/src/platformsupport/services/genericunix/qgenericunixservices.cpp
index 8e9923e208..b583d636c0 100644
--- a/src/platformsupport/services/genericunix/qgenericunixservices.cpp
+++ b/src/platformsupport/services/genericunix/qgenericunixservices.cpp
@@ -167,7 +167,11 @@ static inline bool launch(const QString &launcher, const QUrl &url)
const bool ok = ::system(qPrintable(command + QLatin1String(" &")));
#else
QStringList args = QProcess::splitCommand(command);
- const bool ok = !args.isEmpty() && QProcess::startDetached(args.takeFirst(), args);
+ bool ok = false;
+ if (!args.isEmpty()) {
+ QString program = args.takeFirst();
+ ok = QProcess::startDetached(program, args);
+ }
#endif
if (!ok)
qWarning("Launch failed (%s)", qPrintable(command));