diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2011-06-07 16:54:09 +1000 |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2011-06-07 17:00:11 +1000 |
commit | 1325c549744346154a915115e9787b97427fad81 (patch) | |
tree | e566a9e5ddc957cf6ccc3e91bbca3544da312964 /src/declarative/qml/v8/qv8variantwrapper.cpp | |
parent | 53085399f56714db27cbdebe554146528d13c94e (diff) |
Implement ListModel in V8
Diffstat (limited to 'src/declarative/qml/v8/qv8variantwrapper.cpp')
-rw-r--r-- | src/declarative/qml/v8/qv8variantwrapper.cpp | 11 |
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); |