diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2019-07-22 15:51:50 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2019-08-14 11:44:51 +0000 |
commit | 18a3b64ab07ade6bfc9bb068956beed2032d9b58 (patch) | |
tree | 7bcb18c36f05508457074d783197cdd3f37f9fd6 /src/lib/corelib | |
parent | 5320c8578b600081d9c5174f4024b726c5bdefa0 (diff) |
C++: Add support for clang on Windows
This is about clang in "mingw mode", not clang-cl.
When targeting Windows, clang is a lot like mingw, so factor out the
common parts into a new base module.
Testing uncovered a number of invalid assumptions in our autotests,
which are also fixed in this patch. In addition, minor adjustments had
to be made to the Qt.core module and to the qbscore lib.
Change-Id: I73085dc62a65e2a9d0397cf234c8641989246f22
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib')
-rw-r--r-- | src/lib/corelib/language/evaluatorscriptclass.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/lib/corelib/language/evaluatorscriptclass.cpp b/src/lib/corelib/language/evaluatorscriptclass.cpp index 55a9e1aac..375954133 100644 --- a/src/lib/corelib/language/evaluatorscriptclass.cpp +++ b/src/lib/corelib/language/evaluatorscriptclass.cpp @@ -205,7 +205,18 @@ private: result.second = false; return result; } - SVConverter converter(scriptClass, object, item->property(*propertyName), item, + const ValuePtr v = item->property(*propertyName); + + // This can happen when resolving shadow products. The error will be ignored + // in that case. + if (!v) { + const QString errorMessage = Tr::tr("Error setting up 'original'."); + extraScope = engine->currentContext()->throwError(errorMessage); + result.second = false; + return result; + } + + SVConverter converter(scriptClass, object, v, item, propertyName, data, &originalValue); converter.start(); } else { |