diff options
author | ck <qt-info@nokia.com> | 2010-07-21 17:00:40 +0200 |
---|---|---|
committer | ck <qt-info@nokia.com> | 2010-07-21 17:01:33 +0200 |
commit | b1c9784e741ff20fe9c326a854009cb080e33aae (patch) | |
tree | 2552ceab9a91e3be3408400bcb9fc171c29514e7 | |
parent | 163d727c590561e0092c8a693ae12ba384d78a1f (diff) | |
download | qt-creator-b1c9784e741ff20fe9c326a854009cb080e33aae.tar.gz |
Maemo: Qemu: Bugfix + MADDE workaround.
Reviewed-by: kh1
-rw-r--r-- | src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.cpp | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.cpp b/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.cpp index b08172cac6..5ad000b2a0 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.cpp @@ -359,13 +359,19 @@ void QemuRuntimeManager::startRuntime() m_qemuProcess->setProcessEnvironment(env); m_qemuProcess->setWorkingDirectory(rt.m_root); - const QString app = root + (QFileInfo(rt.m_bin).isRelative() + // 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. -#ifdef Q_OS_WIN - % QLatin1String(".exe") + % QLatin1String(".exe"); +#else + pathIsRelative + ? root % QLatin1String("madlib/") % rt.m_bin // Fremantle. + : rt.m_bin; // Haramattan. #endif - ; // keep m_qemuProcess->start(app % QLatin1Char(' ') % rt.m_args, QIODevice::ReadWrite); @@ -512,12 +518,18 @@ bool QemuRuntimeManager::targetUsesRuntimeConfig(Target *target) MaemoRunConfiguration *mrc = qobject_cast<MaemoRunConfiguration *> (target->activeRunConfiguration()); - if (mrc) { - const MaemoDeviceConfig &config = mrc->deviceConfig(); - if (config.isValid() && config.type == MaemoDeviceConfig::Simulator) - return true; - } - return false; + if (!mrc) + return false; + Qt4BuildConfiguration *bc + = qobject_cast<Qt4BuildConfiguration *>(target->activeBuildConfiguration()); + if (!bc) + return false; + QtVersion *version = bc->qtVersion(); + if (!version || !m_runtimes.contains(version->uniqueId())) + return false; + + const MaemoDeviceConfig &config = mrc->deviceConfig(); + return config.isValid() && config.type == MaemoDeviceConfig::Simulator; } QString QemuRuntimeManager::maddeRoot(const QString &qmake) const |