aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/corelib/jsextensions/process.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/corelib/jsextensions/process.cpp b/src/lib/corelib/jsextensions/process.cpp
index 6d7922e7b..061cfa58d 100644
--- a/src/lib/corelib/jsextensions/process.cpp
+++ b/src/lib/corelib/jsextensions/process.cpp
@@ -29,6 +29,7 @@
#include "process.h"
+#include <language/scriptengine.h>
#include <logging/translator.h>
#include <tools/hostosinfo.h>
@@ -63,9 +64,14 @@ QScriptValue Process::ctor(QScriptContext *context, QScriptEngine *engine)
// Get environment
QVariant v = engine->property("_qbs_procenv");
- if (!v.isNull())
+ if (v.isNull()) {
+ // The build environment is not initialized yet.
+ // This can happen if one uses Process on the RHS of a binding like Group.name.
+ t->m_environment = static_cast<ScriptEngine *>(engine)->environment();
+ } else {
t->m_environment
= QProcessEnvironment(*reinterpret_cast<QProcessEnvironment*>(v.value<void*>()));
+ }
return obj;
}