From a89c171cb1fbf05b683d746e62eda4970cfd79fb Mon Sep 17 00:00:00 2001
From: kh1 <qt-info@nokia.com>
Date: Thu, 17 Jun 2010 15:57:08 +0200
Subject: [PATCH] Use the full path to the qemu executable, might fix
 QTCREATORBUG-1656.

Task-number: QTCREATORBUG-1656
---
 .../qt4projectmanager/qt-maemo/qemuruntimemanager.cpp    | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.cpp b/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.cpp
index 1567edb9c45..8e23a27a146 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.cpp
@@ -379,9 +379,9 @@ void QemuRuntimeManager::startRuntime()
         m_qemuProcess->setProcessEnvironment(env);
         m_qemuProcess->setWorkingDirectory(rt.m_root);
 
-        const QString app =(QFileInfo(rt.m_bin).isRelative()
-            ? root % QLatin1String("madlib/") % rt.m_bin // Fremantle.
-            : rt.m_bin)                                  // Haramattan.
+        const QString app = root + (QFileInfo(rt.m_bin).isRelative()
+            ? QLatin1String("madlib/") % rt.m_bin // Fremantle.
+            : rt.m_bin)                           // Haramattan.
 #ifdef Q_OS_WIN
             % QLatin1String(".exe")
 #endif
@@ -389,6 +389,9 @@ void QemuRuntimeManager::startRuntime()
 
         m_qemuProcess->start(app % QLatin1Char(' ') % rt.m_args,
             QIODevice::ReadWrite);
+        if (!m_qemuProcess->waitForStarted())
+            return;
+
         emit qemuProcessStatus(QemuStarting);
         connect(m_qemuAction, SIGNAL(triggered()), this, SLOT(terminateRuntime()));
         disconnect(m_qemuAction, SIGNAL(triggered()), this, SLOT(startRuntime()));
-- 
GitLab