From 4041a694047ea593fb1bf62be5300ba5e57e6361 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 30 Nov 2010 16:42:30 +0100 Subject: [PATCH] Maemo: Fix Qemu file path once instead of at every start. Reviewed-by: kh1 --- .../qt-maemo/maemoqemumanager.cpp | 23 ++++--------------- .../qt-maemo/maemoqemuruntimeparser.cpp | 16 ++++++++++++- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp index 36e1c172e3f..785e8dca7e9 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 b64370a74f6..ac0f5a31865 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 } } }