summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorck <qt-info@nokia.com>2010-07-21 17:00:40 +0200
committerck <qt-info@nokia.com>2010-07-21 17:01:33 +0200
commitb1c9784e741ff20fe9c326a854009cb080e33aae (patch)
tree2552ceab9a91e3be3408400bcb9fc171c29514e7
parent163d727c590561e0092c8a693ae12ba384d78a1f (diff)
downloadqt-creator-b1c9784e741ff20fe9c326a854009cb080e33aae.tar.gz
Maemo: Qemu: Bugfix + MADDE workaround.
Reviewed-by: kh1
-rw-r--r--src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.cpp32
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