summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qmlintegercache.cpp
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2009-10-26 01:36:00 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2009-10-26 01:36:00 (GMT)
commit2b0cf3b6a2f1c49f40d6f50b4d24bdd87a4807fa (patch)
tree5054d537a64aedb53761ae5c8f3ee8b8dda1aa1a /src/declarative/qml/qmlintegercache.cpp
parentcbb1b29d397c063fc3bcae04c5b062f20cbd12c5 (diff)
downloadQt-2b0cf3b6a2f1c49f40d6f50b4d24bdd87a4807fa.zip
Qt-2b0cf3b6a2f1c49f40d6f50b4d24bdd87a4807fa.tar.gz
Qt-2b0cf3b6a2f1c49f40d6f50b4d24bdd87a4807fa.tar.bz2
Ensure cleanup happens before the destruction of QScriptEngine
This was causing crashes on windows.
Diffstat (limited to 'src/declarative/qml/qmlintegercache.cpp')
-rw-r--r--src/declarative/qml/qmlintegercache.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/declarative/qml/qmlintegercache.cpp b/src/declarative/qml/qmlintegercache.cpp
index 89a18a1..06955c7 100644
--- a/src/declarative/qml/qmlintegercache.cpp
+++ b/src/declarative/qml/qmlintegercache.cpp
@@ -46,13 +46,21 @@
QT_BEGIN_NAMESPACE
QmlIntegerCache::QmlIntegerCache(QmlEngine *e)
-: engine(e)
+: QmlCleanup(e), engine(e)
{
}
QmlIntegerCache::~QmlIntegerCache()
{
+ clear();
+}
+
+void QmlIntegerCache::clear()
+{
qDeleteAll(stringCache);
+ stringCache.clear();
+ identifierCache.clear();
+ engine = 0;
}
void QmlIntegerCache::add(const QString &id, int value)