QUrl sourceUrl = d->resolveSourceUrl(args);
if (!ipv.IsEmpty()) {
d->disposeInitialPropertyValues();
- d->initialPropertyValues = qPersistentNew(ipv);
- d->qmlGlobalForIpv = qPersistentNew(args->qmlGlobal());
+ d->initialPropertyValues = ipv->v4Value();
+ d->qmlGlobalForIpv = args->qmlGlobal()->v4Value();
}
setSource(sourceUrl, false); // already cleared and set ipv above.
void QQuickLoaderPrivate::disposeInitialPropertyValues()
{
- if (!initialPropertyValues.IsEmpty())
- qPersistentDispose(initialPropertyValues);
- if (!qmlGlobalForIpv.IsEmpty())
- qPersistentDispose(qmlGlobalForIpv);
}
void QQuickLoaderPrivate::load()
itemContext = 0;
}
- if (initialPropertyValues.IsEmpty())
+ if (initialPropertyValues.isEmpty())
return;
QQmlComponentPrivate *d = QQmlComponentPrivate::get(component);
Q_ASSERT(d && d->engine);
- d->initializeObjectWithInitialProperties(qmlGlobalForIpv, initialPropertyValues, obj);
+ d->initializeObjectWithInitialProperties(qmlGlobalForIpv.value(), initialPropertyValues.value(), obj);
}
void QQuickLoaderIncubator::statusChanged(Status status)
#include <private/qv8_p.h>
+#include <private/qv4value_p.h>
+
QT_BEGIN_NAMESPACE
QQmlComponent *component;
QQmlContext *itemContext;
QQuickLoaderIncubator *incubator;
- v8::Persistent<v8::Object> initialPropertyValues;
- v8::Persistent<v8::Object> qmlGlobalForIpv;
+ QV4::PersistentValue initialPropertyValues;
+ QV4::PersistentValue qmlGlobalForIpv;
bool updatingSize: 1;
bool active : 1;
bool loadingFromSource : 1;