diff options
Diffstat (limited to 'src/declarative/qml/qdeclarativecontext.cpp')
-rw-r--r-- | src/declarative/qml/qdeclarativecontext.cpp | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/declarative/qml/qdeclarativecontext.cpp b/src/declarative/qml/qdeclarativecontext.cpp index 4f0d704d95..1083409511 100644 --- a/src/declarative/qml/qdeclarativecontext.cpp +++ b/src/declarative/qml/qdeclarativecontext.cpp @@ -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) |