From a29a5b437d1ace670f4dbec43c0704ef61b1a76f Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 8 Sep 2010 12:47:34 +0200 Subject: [PATCH] Maemo: Fix madlist crashing due to missing DLL on Windows. Reviewed-by: kh --- src/plugins/qt4projectmanager/qt-maemo/maemomanager.cpp | 9 ++++++++- .../qt4projectmanager/qt-maemo/maemoqemumanager.cpp | 4 ++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemomanager.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemomanager.cpp index cbb0309a7cf..2e566632cdf 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemomanager.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemomanager.cpp @@ -106,13 +106,20 @@ bool MaemoManager::isValidMaemoQtVersion(const QtVersion *version) const if (!QFileInfo(madAdminCommand).exists()) return false; + QProcess madAdminProc; QStringList arguments(QLatin1String("list")); + #ifdef Q_OS_WIN + QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); + env.insert(QLatin1String("PATH"), + QDir::toNativeSeparators(dir.absolutePath() % QLatin1String("/bin")) + % QLatin1Char(';') % env.value(QLatin1String("PATH"))); + madAdminProc.setProcessEnvironment(env); + arguments.prepend(madAdminCommand); madAdminCommand = dir.absolutePath() + QLatin1String("/bin/sh.exe"); #endif - QProcess madAdminProc; madAdminProc.start(madAdminCommand, arguments); if (!madAdminProc.waitForStarted() || !madAdminProc.waitForFinished()) return false; diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp index a508773fd10..81024b21880 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp @@ -678,6 +678,10 @@ QString MaemoQemuManager::runtimeForQtVersion(const QString &qmakeCommand) const QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); env.insert("HOME", QDesktopServices::storageLocation(QDesktopServices::HomeLocation)); + env.insert(QLatin1String("PATH"), + QDir::toNativeSeparators(madRoot % QLatin1String("/bin")) + % QLatin1Char(';') % env.value(QLatin1String("PATH"))); + madProc.setProcessEnvironment(env); arguments.prepend(madCommand);