diff options
author | Christian Kandeler <christian.kandeler@theqtcompany.com> | 2015-10-02 11:00:36 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@theqtcompany.com> | 2015-10-02 12:58:07 +0000 |
commit | 9087e2667e20a391acd9caa34293e913cee19080 (patch) | |
tree | 16d5ed0123611fc190f576e6fbb6e215fab3127a /src | |
parent | 90c4ca7070273929c87e481f18015a226124b3db (diff) | |
download | qbs-9087e2667e20a391acd9caa34293e913cee19080.tar.gz |
Add missing check for evaluation error.
Change-Id: I83b53ec2d37a2e5b499b1cd81b1cd2fb3e593750
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/corelib/language/evaluatorscriptclass.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/lib/corelib/language/evaluatorscriptclass.cpp b/src/lib/corelib/language/evaluatorscriptclass.cpp index ab3928f7e..9ebd2e077 100644 --- a/src/lib/corelib/language/evaluatorscriptclass.cpp +++ b/src/lib/corelib/language/evaluatorscriptclass.cpp @@ -212,9 +212,14 @@ private: } setupConvenienceProperty(QLatin1String("base"), &extraScope, baseValue); } - if (value->sourceUsesOuter() && outerItem) - setupConvenienceProperty(QLatin1String("outer"), &extraScope, - data->evaluator->property(outerItem, *propertyName)); + if (value->sourceUsesOuter() && outerItem) { + const QScriptValue v = data->evaluator->property(outerItem, *propertyName); + if (engine->hasErrorOrException(v)) { + *result = engine->lastErrorValue(v); + return; + } + setupConvenienceProperty(QLatin1String("outer"), &extraScope, v); + } if (value->sourceUsesOriginal()) { const Item *item = itemOfProperty; while (item->isModuleInstance()) |