From 9087e2667e20a391acd9caa34293e913cee19080 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 2 Oct 2015 11:00:36 +0200 Subject: Add missing check for evaluation error. Change-Id: I83b53ec2d37a2e5b499b1cd81b1cd2fb3e593750 Reviewed-by: Joerg Bornemann --- src/lib/corelib/language/evaluatorscriptclass.cpp | 11 ++++++++--- 1 file 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()) -- cgit v1.2.3