diff options
author | Lars Knoll <lars.knoll@qt.io> | 2018-05-04 10:52:44 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2018-05-04 18:13:09 +0000 |
commit | 8e69a9868cfa6f9b054d056dc74e97fbc77f8171 (patch) | |
tree | 811de3f47b4e83fafda669739564514d6da3bb88 /src/qml/jsruntime/qv4engine.cpp | |
parent | 798b8d6368dcbcd9b797dad54d87ca0880ad6fb4 (diff) |
Avoid accessing an object with this == nullptr
Get rid of a circular dependency when initializing
StringObject.prototype, by setting it's string value
later during the initialization process.
Change-Id: I5bdaff3936c1f8af12c4d53f95747b8aa43f4ef6
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4engine.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4engine.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp index e326edd1a6..2a37f3ee47 100644 --- a/src/qml/jsruntime/qv4engine.cpp +++ b/src/qml/jsruntime/qv4engine.cpp @@ -224,7 +224,7 @@ ExecutionEngine::ExecutionEngine(QJSEngine *jsEngine) classes[Class_QmlContextWrapper] = classes[Class_Object]->changeVTable(QV4::QQmlContextWrapper::staticVTable()); ic = newInternalClass(QV4::StringObject::staticVTable(), objectPrototype()); - jsObjects[StringProto] = memoryManager->allocObject<StringPrototype>(ic->d()); + jsObjects[StringProto] = memoryManager->allocObject<StringPrototype>(ic->d(), /*init =*/ false); classes[Class_String] = classes[Class_Empty]->changeVTable(QV4::String::staticVTable())->changePrototype(stringPrototype()->d()); Q_ASSERT(stringPrototype()->d() && classes[Class_String]->prototype); |