forked from qt-creator/qt-creator
Maemo: Fix Qemu file path once instead of at every start.
Reviewed-by: kh1
This commit is contained in:
@@ -352,12 +352,12 @@ void MaemoQemuManager::startRuntime()
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_runningQtId = version->uniqueId();
|
m_runningQtId = version->uniqueId();
|
||||||
const QString root
|
|
||||||
= QDir::toNativeSeparators(MaemoGlobal::maddeRoot(version->qmakeCommand())
|
|
||||||
+ QLatin1Char('/'));
|
|
||||||
const MaemoQemuRuntime rt = m_runtimes.value(version->uniqueId());
|
const MaemoQemuRuntime rt = m_runtimes.value(version->uniqueId());
|
||||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
|
const QString root
|
||||||
|
= QDir::toNativeSeparators(MaemoGlobal::maddeRoot(version->qmakeCommand())
|
||||||
|
+ QLatin1Char('/'));
|
||||||
const QLatin1Char colon(';');
|
const QLatin1Char colon(';');
|
||||||
const QLatin1String key("PATH");
|
const QLatin1String key("PATH");
|
||||||
env.insert(key, root % QLatin1String("bin") % colon % env.value(key));
|
env.insert(key, root % QLatin1String("bin") % colon % env.value(key));
|
||||||
@@ -369,22 +369,7 @@ void MaemoQemuManager::startRuntime()
|
|||||||
m_qemuProcess->setProcessEnvironment(env);
|
m_qemuProcess->setProcessEnvironment(env);
|
||||||
m_qemuProcess->setWorkingDirectory(rt.m_root);
|
m_qemuProcess->setWorkingDirectory(rt.m_root);
|
||||||
|
|
||||||
// This is complex because of extreme MADDE weirdness.
|
m_qemuProcess->start(rt.m_bin % QLatin1Char(' ') % rt.m_args);
|
||||||
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);
|
|
||||||
if (!m_qemuProcess->waitForStarted())
|
if (!m_qemuProcess->waitForStarted())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
@@ -192,7 +192,21 @@ void MaemoQemuRuntimeParserV1::fillRuntimeInformation(MaemoQemuRuntime *runtime)
|
|||||||
break;
|
break;
|
||||||
runtime->m_freePorts.addPort(port.toInt());
|
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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user