From 5d3823ac4727fb426915b468a031346e5f9ab929 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 26 May 2016 12:12:01 +0200 Subject: Use SynchronousProcess::runBlocking Use SynchronousProcess::runBlocking in favor of SychronousProcess::run. This avoid nested event loops which can produce really strange crashes if not use carefully. This patch only converts those processes that have a timeout of less than 5 seconds or use the default timeout. Change-Id: I9de8899dcc946af7049ea357a91972996c0256a1 Reviewed-by: Vikas Pachdha Reviewed-by: Tobias Hunger --- src/libs/utils/buildablehelperlibrary.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/libs/utils/buildablehelperlibrary.cpp') diff --git a/src/libs/utils/buildablehelperlibrary.cpp b/src/libs/utils/buildablehelperlibrary.cpp index a57c829a22..357bc2fea2 100644 --- a/src/libs/utils/buildablehelperlibrary.cpp +++ b/src/libs/utils/buildablehelperlibrary.cpp @@ -43,7 +43,7 @@ QString BuildableHelperLibrary::qtChooserToQmakePath(const QString &path) const QString toolDir = QLatin1String("QTTOOLDIR=\""); SynchronousProcess proc; proc.setTimeoutS(1); - SynchronousProcessResponse response = proc.run(path, QStringList(QLatin1String("-print-env"))); + SynchronousProcessResponse response = proc.runBlocking(path, QStringList(QLatin1String("-print-env"))); if (response.result != SynchronousProcessResponse::Finished) return QString(); const QString output = response.stdOut; @@ -104,7 +104,7 @@ QString BuildableHelperLibrary::qtVersionForQMake(const QString &qmakePath) SynchronousProcess qmake; qmake.setTimeoutS(5); - SynchronousProcessResponse response = qmake.run(qmakePath, QStringList(QLatin1String("--version"))); + SynchronousProcessResponse response = qmake.runBlocking(qmakePath, QStringList(QLatin1String("--version"))); if (response.result != SynchronousProcessResponse::Finished) { qWarning() << response.exitMessage(qmakePath, 5); return QString(); -- cgit v1.2.1