diff options
Diffstat (limited to 'src/lib/corelib/language/evaluatorscriptclass.cpp')
-rw-r--r-- | src/lib/corelib/language/evaluatorscriptclass.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/lib/corelib/language/evaluatorscriptclass.cpp b/src/lib/corelib/language/evaluatorscriptclass.cpp index e9e6d8d36..e0dd5a525 100644 --- a/src/lib/corelib/language/evaluatorscriptclass.cpp +++ b/src/lib/corelib/language/evaluatorscriptclass.cpp @@ -215,6 +215,16 @@ private: if (value->sourceUsesOuter() && outerItem) setupConvenienceProperty(QLatin1String("outer"), &extraScope, data->evaluator->property(outerItem, *propertyName)); + if (value->sourceUsesOriginal()) { + const Item *item = itemOfProperty; + while (item->isModuleInstance()) + item = item->prototype(); + QScriptValue originalValue; + SVConverter converter(scriptClass, object, item->property(*propertyName), item, + propertyName, data, &originalValue, sourceValueStack); + converter.start(); + setupConvenienceProperty(QLatin1String("original"), &extraScope, originalValue); + } pushScope(data->evaluator->fileScope(value->file())); pushItemScopes(data->item); |