diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2017-03-06 15:06:59 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2017-03-07 11:47:34 +0000 |
commit | 84a07bebc94e9f92d4d596550317a89403ed291f (patch) | |
tree | b057db7b40d515662670de6d1bdb7ed37276ac4e /src/qml/compiler | |
parent | d5d12e1d6fb9aaa5a8cee7924555f0d4d19ffabc (diff) |
Fix crash when loading cache files generated ahead of time
The offset of the runtimeStrings array differed between a V4_BOOTSTRAP build
and the regular library build. This is an intermediate fix until QTBUG-58666
is fixed properly.
Change-Id: Id1310ffa82f1079c1acef7730db41186fa62610f
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/compiler')
-rw-r--r-- | src/qml/compiler/qv4compileddata.cpp | 2 | ||||
-rw-r--r-- | src/qml/compiler/qv4compileddata_p.h | 6 |
2 files changed, 3 insertions, 5 deletions
diff --git a/src/qml/compiler/qv4compileddata.cpp b/src/qml/compiler/qv4compileddata.cpp index dba04a7187..70a03c2c1f 100644 --- a/src/qml/compiler/qv4compileddata.cpp +++ b/src/qml/compiler/qv4compileddata.cpp @@ -95,8 +95,8 @@ static QString cacheFilePath(const QUrl &url) #ifndef V4_BOOTSTRAP CompilationUnit::CompilationUnit() : data(0) - , engine(0) , runtimeStrings(0) + , engine(0) , runtimeLookups(0) , runtimeRegularExpressions(0) , runtimeClasses(0) diff --git a/src/qml/compiler/qv4compileddata_p.h b/src/qml/compiler/qv4compileddata_p.h index 8c7d0d7e19..23139d6c8e 100644 --- a/src/qml/compiler/qv4compileddata_p.h +++ b/src/qml/compiler/qv4compileddata_p.h @@ -816,13 +816,11 @@ struct Q_QML_PRIVATE_EXPORT CompilationUnit : public QQmlRefCount // Called only when building QML, when we build the header for JS first and append QML data virtual QV4::CompiledData::Unit *createUnitData(QmlIR::Document *irDocument); -#ifndef V4_BOOTSTRAP - ExecutionEngine *engine; -#endif - QV4::Heap::String **runtimeStrings; // Array #ifndef V4_BOOTSTRAP + ExecutionEngine *engine; + QString fileName() const { return data->stringAt(data->sourceFileIndex); } QUrl url() const { if (m_url.isNull) m_url = QUrl(fileName()); return m_url; } |