diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2013-12-06 11:29:43 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-06 21:51:04 +0100 |
commit | 32b7e01558e0d3c50dd10f846182fe5dc09686e9 (patch) | |
tree | 0d3cfeaca25f3e670edb6a848e94eca197477839 /src/qml/qml/qqmltypeloader.cpp | |
parent | 24e2b39e7a06687322a18a158a083eb51a7c0dca (diff) |
Clean up handling of illegal names and enable in new compiler
Access to the identifier hash may not be thread-safe from the loader thread, so
use a QSet copy instead (which is cheap because we don't detach).
This also enables the checking for illegal types again.
Change-Id: I8c3ec1fd0fc01cce3269e206f479a90bdbbc89dd
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/qml/qqmltypeloader.cpp')
-rw-r--r-- | src/qml/qml/qqmltypeloader.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/qml/qml/qqmltypeloader.cpp b/src/qml/qml/qqmltypeloader.cpp index 6eda55e35b..60fa00a5c9 100644 --- a/src/qml/qml/qqmltypeloader.cpp +++ b/src/qml/qml/qqmltypeloader.cpp @@ -2154,8 +2154,9 @@ void QQmlTypeData::dataReceived(const Data &data) if (data.isFile()) preparseData = data.asFile()->metaData(QLatin1String("qml:preparse")); if (m_useNewCompiler) { - parsedQML.reset(new QtQml::ParsedQML(QV8Engine::getV4(typeLoader()->engine())->debugger != 0)); - QQmlCodeGenerator compiler; + QQmlEngine *qmlEngine = typeLoader()->engine(); + parsedQML.reset(new QtQml::ParsedQML(QV8Engine::getV4(qmlEngine)->debugger != 0)); + QQmlCodeGenerator compiler(QV8Engine::get(qmlEngine)->illegalNames()); if (!compiler.generateFromQml(code, finalUrl(), finalUrlString(), parsedQML.data())) { setError(compiler.errors); return; |