aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlcompileddata.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/qml/qqmlcompileddata.cpp')
-rw-r--r--src/qml/qml/qqmlcompileddata.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/qml/qml/qqmlcompileddata.cpp b/src/qml/qml/qqmlcompileddata.cpp
index 76bf24fe6b..cc8fcdb6ba 100644
--- a/src/qml/qml/qqmlcompileddata.cpp
+++ b/src/qml/qml/qqmlcompileddata.cpp
@@ -117,13 +117,15 @@ QQmlCompiledData::~QQmlCompiledData()
types.at(ii).typePropertyCache->release();
}
- for (QHash<int, TypeReference>::Iterator resolvedType = resolvedTypes.begin(), end = resolvedTypes.end();
+ for (QHash<int, TypeReference*>::Iterator resolvedType = resolvedTypes.begin(), end = resolvedTypes.end();
resolvedType != end; ++resolvedType) {
- if (resolvedType->component)
- resolvedType->component->release();
- if (resolvedType->typePropertyCache)
- resolvedType->typePropertyCache->release();
+ if ((*resolvedType)->component)
+ (*resolvedType)->component->release();
+ if ((*resolvedType)->typePropertyCache)
+ (*resolvedType)->typePropertyCache->release();
}
+ qDeleteAll(resolvedTypes);
+ resolvedTypes.clear();
for (int ii = 0; ii < propertyCaches.count(); ++ii)
if (propertyCaches.at(ii))