MUTILS_API const QString& temp_folder(void);
//Process Utils
- MUTILS_API void init_process(QProcess &process, const QString &wokringDir, const bool bReplaceTempDir = true, const QString &extraPath = QString());
+ MUTILS_API void init_process(QProcess &process, const QString &wokringDir, const bool bReplaceTempDir = true, const QStringList *const extraPaths = NULL);
//Random
MUTILS_API void seed_rand(void);
#include <QProcess>
#include <QTextCodec>
#include <QPair>
+#include <QListIterator>
//CRT
#include <cstdlib>
env.insert(PATH, path.isEmpty() ? value : QString("%1;%2").arg(value, path));
}
-void MUtils::init_process(QProcess &process, const QString &wokringDir, const bool bReplaceTempDir, const QString &extraPath)
+void MUtils::init_process(QProcess &process, const QString &wokringDir, const bool bReplaceTempDir, const QStringList *const extraPaths)
{
//Environment variable names
static const char *const s_envvar_names_temp[] =
//Setup PATH variable
prependToPath(env, tempDir);
- if (!extraPath.isEmpty())
+ if (extraPaths && (!extraPaths->isEmpty()))
{
- prependToPath(env, QDir::toNativeSeparators(extraPath));
+ QListIterator<QString> iter(*extraPaths);
+ iter.toBack();
+ while (iter.hasPrevious())
+ {
+ prependToPath(env, QDir::toNativeSeparators(iter.previous()));
+ }
}
//Setup QPorcess object