From b1c9784e741ff20fe9c326a854009cb080e33aae Mon Sep 17 00:00:00 2001 From: ck <qt-info@nokia.com> Date: Wed, 21 Jul 2010 17:00:40 +0200 Subject: [PATCH] Maemo: Qemu: Bugfix + MADDE workaround. Reviewed-by: kh1 --- .../qt-maemo/qemuruntimemanager.cpp | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.cpp b/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.cpp index b08172cac64..5ad000b2a0e 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 -- GitLab