diff options
Diffstat (limited to 'src/qml/compiler/qqmltypecompiler.cpp')
-rw-r--r-- | src/qml/compiler/qqmltypecompiler.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/qml/compiler/qqmltypecompiler.cpp b/src/qml/compiler/qqmltypecompiler.cpp index 2a8536a065..6dcf15f24e 100644 --- a/src/qml/compiler/qqmltypecompiler.cpp +++ b/src/qml/compiler/qqmltypecompiler.cpp @@ -133,9 +133,8 @@ bool QQmlTypeCompiler::compile() // Build property caches and VME meta object data - const int objectCount = parsedQML->objects.count(); - compiledData->datas.reserve(objectCount); - compiledData->propertyCaches.reserve(objectCount); + compiledData->datas.reserve(parsedQML->objects.count()); + compiledData->propertyCaches.reserve(parsedQML->objects.count()); { QQmlPropertyCacheCreator propertyCacheBuilder(this); @@ -244,6 +243,7 @@ bool QQmlTypeCompiler::compile() // Collect some data for instantiation later. int bindingCount = 0; int parserStatusCount = 0; + int objectCount = 0; for (quint32 i = 0; i < qmlUnit->nObjects; ++i) { const QV4::CompiledData::Object *obj = qmlUnit->objectAt(i); bindingCount += obj->nBindings; @@ -255,12 +255,15 @@ bool QQmlTypeCompiler::compile() if (typeRef->component) { bindingCount += typeRef->component->totalBindingsCount; parserStatusCount += typeRef->component->totalParserStatusCount; - } + objectCount += typeRef->component->totalObjectCount; + } else + ++objectCount; } } compiledData->totalBindingsCount = bindingCount; compiledData->totalParserStatusCount = parserStatusCount; + compiledData->totalObjectCount = objectCount; return errors.isEmpty(); } |