{
if (!v8Datum)
v8Datum = new QQuickV8ParticleData(QQmlEnginePrivate::getV8Engine(qmlEngine(system)), this);
- return v8Datum->v8Value();
+ return v8Datum->v4Value();
}
//sets the x accleration without affecting the instantaneous x velocity or position
void QQuickParticleData::setInstantaneousAX(qreal ax)
#include "qquickparticlesystem_p.h"//for QQuickParticleData
#include <QDebug>
#include <private/qv4engine_p.h>
+#include <private/qv4functionobject_p.h>
QT_BEGIN_NAMESPACE
QV8ParticleDataDeletable(QV8Engine *engine);
~QV8ParticleDataDeletable();
- v8::Persistent<v8::Function> constructor;
+ QV4::PersistentValue constructor;
};
static QV4::Value particleData_discard(const v8::Arguments &args)
REGISTER_ACCESSOR(ft, engine, blue, blue);
REGISTER_ACCESSOR(ft, engine, alpha, alpha);
- constructor = qPersistentNew(ft->GetFunction());
+ constructor = ft->GetFunction()->v4Value();
}
QV8ParticleDataDeletable::~QV8ParticleDataDeletable()
{
- qPersistentDispose(constructor);
}
V8_DEFINE_EXTENSION(QV8ParticleDataDeletable, particleV8Data);
return;
QV8ParticleDataDeletable *d = particleV8Data(engine);
- m_v8Value = qPersistentNew(d->constructor->NewInstance());
+ m_v4Value = d->constructor.value().asFunctionObject()->newInstance();
QV8ParticleDataResource *r = new QV8ParticleDataResource(engine);
r->datum = datum;
- m_v8Value->SetExternalResource(r);
+ v8::Handle<v8::Object>(m_v4Value)->SetExternalResource(r);
}
QQuickV8ParticleData::~QQuickV8ParticleData()
{
- qPersistentDispose(m_v8Value);
}
-QQmlV4Handle QQuickV8ParticleData::v8Value()
+QQmlV4Handle QQuickV8ParticleData::v4Value()
{
- return QQmlV4Handle::fromV8Handle(m_v8Value);
+ return QQmlV4Handle::fromValue(m_v4Value);
}
QT_END_NAMESPACE
#include <private/qv8engine_p.h>
+#include <private/qv4value_p.h>
+
QT_BEGIN_NAMESPACE
class QQuickParticleData;
public:
QQuickV8ParticleData(QV8Engine*,QQuickParticleData*);
~QQuickV8ParticleData();
- QQmlV4Handle v8Value();
+ QQmlV4Handle v4Value();
private:
- v8::Persistent<v8::Object> m_v8Value;
+ QV4::PersistentValue m_v4Value;
};