Merge branch 'master' into v8
[profile/ivi/qtdeclarative.git] / src / declarative / qml / qdeclarativecontext.cpp
index c48f2ed..5a24199 100644 (file)
@@ -47,7 +47,6 @@
 #include "private/qdeclarativeengine_p.h"
 #include "qdeclarativeengine.h"
 #include "qdeclarativeinfo.h"
-#include "private/qdeclarativeglobalscriptclass_p.h"
 #include "private/qdeclarativev4bindings_p.h"
 
 #include <qscriptengine.h>
@@ -313,7 +312,7 @@ void QDeclarativeContext::setContextProperty(const QString &name, const QVariant
         }
     }
 
-    if (!data->propertyNames) data->propertyNames = new QDeclarativeIntegerCache(data->engine);
+    if (!data->propertyNames) data->propertyNames = new QDeclarativeIntegerCache();
 
     int idx = data->propertyNames->value(name);
     if (idx == -1) {
@@ -350,7 +349,7 @@ void QDeclarativeContext::setContextProperty(const QString &name, QObject *value
         return;
     }
 
-    if (!data->propertyNames) data->propertyNames = new QDeclarativeIntegerCache(data->engine);
+    if (!data->propertyNames) data->propertyNames = new QDeclarativeIntegerCache();
     int idx = data->propertyNames->value(name);
 
     if (idx == -1) {
@@ -498,18 +497,18 @@ QObject *QDeclarativeContextPrivate::context_at(QDeclarativeListProperty<QObject
 
 
 QDeclarativeContextData::QDeclarativeContextData()
-: parent(0), engine(0), isInternal(false), ownedByParent(false), publicContext(0), propertyNames(0), contextObject(0),
-  imports(0), childContexts(0), nextChild(0), prevChild(0), expressions(0), contextObjects(0),
-  contextGuards(0), idValues(0), idValueCount(0), optimizedBindings(0), linkedContext(0),
-  componentAttached(0)
+: parent(0), engine(0), isInternal(false), ownedByParent(false), isJSContext(false), publicContext(0), 
+  propertyNames(0), contextObject(0), imports(0), childContexts(0), nextChild(0), prevChild(0), 
+  expressions(0), contextObjects(0), contextGuards(0), idValues(0), idValueCount(0), optimizedBindings(0), 
+  linkedContext(0), componentAttached(0)
 {
 }
 
 QDeclarativeContextData::QDeclarativeContextData(QDeclarativeContext *ctxt)
-: parent(0), engine(0), isInternal(false), ownedByParent(false), publicContext(ctxt), propertyNames(0), contextObject(0),
-  imports(0), childContexts(0), nextChild(0), prevChild(0), expressions(0), contextObjects(0),
-  contextGuards(0), idValues(0), idValueCount(0), optimizedBindings(0), linkedContext(0),
-  componentAttached(0)
+: parent(0), engine(0), isInternal(false), ownedByParent(false), isJSContext(false), publicContext(ctxt), 
+  propertyNames(0), contextObject(0), imports(0), childContexts(0), nextChild(0), prevChild(0), 
+  expressions(0), contextObjects(0), contextGuards(0), idValues(0), idValueCount(0), optimizedBindings(0), 
+  linkedContext(0), componentAttached(0)
 {
 }
 
@@ -611,6 +610,9 @@ void QDeclarativeContextData::destroy()
     if (optimizedBindings)
         optimizedBindings->release();
 
+    for (int ii = 0; ii < importedScripts.count(); ++ii)
+        importedScripts[ii].Dispose();
+
     delete [] idValues;
 
     if (isInternal)