From 0428fa446c3db835cadf6cbe6e9237bb27073403 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Mon, 14 Apr 2014 16:12:58 +0200 Subject: fix environment of JS Process The environment of the JS class Process is empty if the build environment has not been initialized yet. This can happen if one uses Process on the RHS of a binding like Group.name. Task-number: QBS-547 Change-Id: I1341c8dbbc677adcc3e3f5842a95d6f8aeebf09b Reviewed-by: Christian Kandeler --- src/lib/corelib/jsextensions/process.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') 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 #include #include @@ -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(engine)->environment(); + } else { t->m_environment = QProcessEnvironment(*reinterpret_cast(v.value())); + } return obj; } -- cgit v1.2.3