diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp index 36e1c172e3fc9932f670d872bf64c1e52616ec31..785e8dca7e9687ba63b89f2519586695230828ed 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp @@ -352,12 +352,12 @@ void MaemoQemuManager::startRuntime() } m_runningQtId = version->uniqueId(); - const QString root - = QDir::toNativeSeparators(MaemoGlobal::maddeRoot(version->qmakeCommand()) - + QLatin1Char('/')); const MaemoQemuRuntime rt = m_runtimes.value(version->uniqueId()); QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); #ifdef Q_OS_WIN + const QString root + = QDir::toNativeSeparators(MaemoGlobal::maddeRoot(version->qmakeCommand()) + + QLatin1Char('/')); const QLatin1Char colon(';'); const QLatin1String key("PATH"); env.insert(key, root % QLatin1String("bin") % colon % env.value(key)); @@ -369,22 +369,7 @@ void MaemoQemuManager::startRuntime() m_qemuProcess->setProcessEnvironment(env); m_qemuProcess->setWorkingDirectory(rt.m_root); - // This is complex because of extreme MADDE weirdness. - const bool pathIsRelative = QFileInfo(rt.m_bin).isRelative(); - const QString app = -#ifdef Q_OS_WIN - root % (pathIsRelative - ? QLatin1String("madlib/") % rt.m_bin // Fremantle. - : rt.m_bin) // Haramattan. - % QLatin1String(".exe"); -#else - pathIsRelative - ? root % QLatin1String("madlib/") % rt.m_bin // Fremantle. - : rt.m_bin; // Haramattan. -#endif - - m_qemuProcess->start(app % QLatin1Char(' ') % rt.m_args, - QIODevice::ReadWrite); + m_qemuProcess->start(rt.m_bin % QLatin1Char(' ') % rt.m_args); if (!m_qemuProcess->waitForStarted()) return; diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoqemuruntimeparser.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoqemuruntimeparser.cpp index b64370a74f6f86cc37923fff7446ce0811332777..ac0f5a318652d64c98bed4dbbcf6c103278786bc 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoqemuruntimeparser.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoqemuruntimeparser.cpp @@ -192,7 +192,21 @@ void MaemoQemuRuntimeParserV1::fillRuntimeInformation(MaemoQemuRuntime *runtime) break; runtime->m_freePorts.addPort(port.toInt()); } - return; + + // This is complex because of extreme MADDE weirdness. + const QString root = m_maddeRoot + QLatin1Char('/'); + const bool pathIsRelative = QFileInfo(runtime->m_bin).isRelative(); + runtime->m_bin = + #ifdef Q_OS_WIN + root + (pathIsRelative + ? QLatin1String("madlib/") + runtime->m_bin // Fremantle. + : runtime->m_bin) // Harmattan. + + QLatin1String(".exe"); + #else + pathIsRelative + ? root + QLatin1String("madlib/") + runtime->m_bin // Fremantle. + : runtime->m_bin; // Harmattan. + #endif } } }