aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/v8/qv8variantwrapper.cpp
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2011-06-07 16:54:09 +1000
committerAaron Kennedy <aaron.kennedy@nokia.com>2011-06-07 17:00:11 +1000
commit1325c549744346154a915115e9787b97427fad81 (patch)
treee566a9e5ddc957cf6ccc3e91bbca3544da312964 /src/declarative/qml/v8/qv8variantwrapper.cpp
parent53085399f56714db27cbdebe554146528d13c94e (diff)
Implement ListModel in V8
Diffstat (limited to 'src/declarative/qml/v8/qv8variantwrapper.cpp')
-rw-r--r--src/declarative/qml/v8/qv8variantwrapper.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/declarative/qml/v8/qv8variantwrapper.cpp b/src/declarative/qml/v8/qv8variantwrapper.cpp
index 2d91a335b2..de3cb11926 100644
--- a/src/declarative/qml/v8/qv8variantwrapper.cpp
+++ b/src/declarative/qml/v8/qv8variantwrapper.cpp
@@ -95,10 +95,10 @@ void QV8VariantWrapper::init(QV8Engine *engine)
void QV8VariantWrapper::destroy()
{
- m_destroy.Dispose();
- m_preserve.Dispose();
- m_scarceConstructor.Dispose();
- m_constructor.Dispose();
+ m_destroy.Dispose(); m_destroy.Clear();
+ m_preserve.Dispose(); m_preserve.Clear();
+ m_scarceConstructor.Dispose(); m_scarceConstructor.Clear();
+ m_constructor.Dispose(); m_constructor.Clear();
}
v8::Local<v8::Object> QV8VariantWrapper::newVariant(const QVariant &value)
@@ -106,13 +106,12 @@ v8::Local<v8::Object> QV8VariantWrapper::newVariant(const QVariant &value)
bool scarceResource = value.type() == QVariant::Pixmap ||
value.type() == QVariant::Image;
- QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(m_engine->engine());
-
// XXX aakenned - NewInstance() is slow for our case
v8::Local<v8::Object> rv;
QV8VariantResource *r = new QV8VariantResource(m_engine, value);
if (scarceResource) {
+ QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(m_engine->engine());
Q_ASSERT(ep->scarceResourcesRefCount);
rv = m_scarceConstructor->NewInstance();
ep->scarceResources.insert(r);