diff options
-rw-r--r-- | src/lib/corelib/jsextensions/process.cpp | 8 |
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; } |