diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2017-12-06 13:23:08 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2017-12-08 21:46:17 +0000 |
commit | 30d724ad339e30055f72c0264833d1cd4e5f9122 (patch) | |
tree | a6cbb70e678575f988d24d2845a87fcda484c739 /src/lib/corelib/language/evaluatorscriptclass.cpp | |
parent | ed666c60b98147642ff1fd3742a8b66893fe2325 (diff) |
Fix crash when "original" is being misused
We simply assumed the value would be a module property.
Task-number: QBS-1255
Change-Id: I3994f6db62f64ed44cb4d01f0938bc2d536fb3f3
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Diffstat (limited to 'src/lib/corelib/language/evaluatorscriptclass.cpp')
-rw-r--r-- | src/lib/corelib/language/evaluatorscriptclass.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/corelib/language/evaluatorscriptclass.cpp b/src/lib/corelib/language/evaluatorscriptclass.cpp index cb88788f6..be99a53a2 100644 --- a/src/lib/corelib/language/evaluatorscriptclass.cpp +++ b/src/lib/corelib/language/evaluatorscriptclass.cpp @@ -176,6 +176,13 @@ private: const Item *item = itemOfProperty; while (item->type() == ItemType::ModuleInstance) item = item->prototype(); + if (item->type() != ItemType::Module && item->type() != ItemType::Export) { + const QString errorMessage = Tr::tr("The special value 'original' can only " + "be used with module properties."); + extraScope = engine->currentContext()->throwError(errorMessage); + result.second = false; + return result; + } SVConverter converter(scriptClass, object, item->property(*propertyName), item, propertyName, data, &originalValue); converter.start(); |