aboutsummaryrefslogtreecommitdiffstats
path: root/src/app/qbs
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2013-08-30 17:17:54 +0200
committerChristian Kandeler <christian.kandeler@digia.com>2013-09-04 15:00:26 +0200
commitaadebfaa7d8a9006c17e3ce76208b35f0b2369e3 (patch)
tree391cfcdea3a09523b8345a120338601287fab95d /src/app/qbs
parent8269d5d54566685081b5e1b2cf2075460b8ff112 (diff)
check for existence before execution of a tool
This is a work-around for QTBUG-5990. Change-Id: I58f6f40cec7d9f5ac4bb90c1c2178b0e367fb1f6 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'src/app/qbs')
-rw-r--r--src/app/qbs/qbstool.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/app/qbs/qbstool.cpp b/src/app/qbs/qbstool.cpp
index ff30b3372..e9f0140be 100644
--- a/src/app/qbs/qbstool.cpp
+++ b/src/app/qbs/qbstool.cpp
@@ -32,6 +32,7 @@
#include <QCoreApplication>
#include <QDir>
+#include <QFileInfo>
#include <QProcess>
#include <iostream>
@@ -49,8 +50,14 @@ void QbsTool::runTool(const QString &toolName, const QStringList &arguments)
{
m_failedToStart = false;
m_exitCode = -1;
+ const QString filePath = qbsToolFilePath(toolName);
+ const QFileInfo fi(filePath);
+ if (!fi.exists() || !fi.isFile() || !fi.isExecutable()) {
+ m_failedToStart = true;
+ return;
+ }
QProcess toolProc;
- toolProc.start(qbsToolFilePath(toolName), arguments);
+ toolProc.start(filePath, arguments);
if (!toolProc.waitForStarted())
m_failedToStart = true;
toolProc.waitForFinished(-1);