aboutsummaryrefslogtreecommitdiffstats
path: root/src/particles
diff options
context:
space:
mode:
Diffstat (limited to 'src/particles')
-rw-r--r--src/particles/qquickangledirection.cpp4
-rw-r--r--src/particles/qquickcustomaffector.cpp2
-rw-r--r--src/particles/qquickcustomparticle.cpp16
-rw-r--r--src/particles/qquickellipseextruder.cpp4
-rw-r--r--src/particles/qquickimageparticle.cpp48
-rw-r--r--src/particles/qquickitemparticle.cpp6
-rw-r--r--src/particles/qquicklineextruder.cpp4
-rw-r--r--src/particles/qquickmaskextruder.cpp2
-rw-r--r--src/particles/qquickparticleaffector.cpp2
-rw-r--r--src/particles/qquickparticleemitter.cpp14
-rw-r--r--src/particles/qquickparticleextruder.cpp4
-rw-r--r--src/particles/qquickparticlegroup.cpp6
-rw-r--r--src/particles/qquickparticlepainter.cpp4
-rw-r--r--src/particles/qquickparticlesystem.cpp38
-rw-r--r--src/particles/qquickparticlesystem_p.h11
-rw-r--r--src/particles/qquickpointdirection.cpp4
-rw-r--r--src/particles/qquickrectangleextruder.cpp14
-rw-r--r--src/particles/qquickspritegoal.cpp4
-rw-r--r--src/particles/qquicktargetdirection.cpp8
-rw-r--r--src/particles/qquicktrailemitter.cpp10
-rw-r--r--src/particles/qquickturbulence.cpp2
-rw-r--r--src/particles/qquickv4particledata.cpp60
-rw-r--r--src/particles/qquickv4particledata_p.h2
-rw-r--r--src/particles/qquickwander.cpp12
24 files changed, 139 insertions, 142 deletions
diff --git a/src/particles/qquickangledirection.cpp b/src/particles/qquickangledirection.cpp
index 11a007ca09..34afd9ce84 100644
--- a/src/particles/qquickangledirection.cpp
+++ b/src/particles/qquickangledirection.cpp
@@ -108,8 +108,8 @@ QPointF QQuickAngleDirection::sample(const QPointF &from)
{
Q_UNUSED(from);
QPointF ret;
- qreal theta = m_angle*CONV - m_angleVariation*CONV + QRandomGenerator::getReal() * m_angleVariation*CONV * 2;
- qreal mag = m_magnitude- m_magnitudeVariation + QRandomGenerator::getReal() * m_magnitudeVariation * 2;
+ qreal theta = m_angle*CONV - m_angleVariation*CONV + QRandomGenerator::global()->generateDouble() * m_angleVariation*CONV * 2;
+ qreal mag = m_magnitude- m_magnitudeVariation + QRandomGenerator::global()->generateDouble() * m_magnitudeVariation * 2;
ret.setX(mag * qCos(theta));
ret.setY(mag * qSin(theta));
return ret;
diff --git a/src/particles/qquickcustomaffector.cpp b/src/particles/qquickcustomaffector.cpp
index e152c436db..53557e1d0b 100644
--- a/src/particles/qquickcustomaffector.cpp
+++ b/src/particles/qquickcustomaffector.cpp
@@ -148,7 +148,7 @@ void QQuickCustomAffector::affectSystem(qreal dt)
dt = 1.0;
QQmlEngine *qmlEngine = ::qmlEngine(this);
- QV4::ExecutionEngine *v4 = QV8Engine::getV4(qmlEngine->handle());
+ QV4::ExecutionEngine *v4 = qmlEngine->handle();
QV4::Scope scope(v4);
QV4::ScopedArrayObject array(scope, v4->newArrayObject(toAffect.size()));
diff --git a/src/particles/qquickcustomparticle.cpp b/src/particles/qquickcustomparticle.cpp
index a2bcd91167..0e3c656762 100644
--- a/src/particles/qquickcustomparticle.cpp
+++ b/src/particles/qquickcustomparticle.cpp
@@ -246,7 +246,7 @@ QSGNode *QQuickCustomParticle::updatePaintNode(QSGNode *oldNode, UpdatePaintNode
QQuickOpenGLShaderEffectNode *rootNode = static_cast<QQuickOpenGLShaderEffectNode *>(oldNode);
if (m_pleaseReset){
delete rootNode;//Automatically deletes children
- rootNode = 0;
+ rootNode = nullptr;
m_nodes.clear();
m_pleaseReset = false;
m_dirtyProgram = true;
@@ -270,7 +270,7 @@ QQuickOpenGLShaderEffectNode *QQuickCustomParticle::prepareNextFrame(QQuickOpenG
rootNode = buildCustomNodes();
if (!rootNode)
- return 0;
+ return nullptr;
if (m_dirtyProgram) {
const bool isES = QOpenGLContext::currentContext()->isOpenGLES();
@@ -316,23 +316,23 @@ QQuickOpenGLShaderEffectNode* QQuickCustomParticle::buildCustomNodes()
typedef QHash<int, QQuickOpenGLShaderEffectNode*>::const_iterator NodeHashConstIt;
if (!QOpenGLContext::currentContext())
- return 0;
+ return nullptr;
if (m_count * 4 > 0xffff) {
// Index data is ushort.
qmlInfo(this) << "CustomParticle: Too many particles - maximum 16383 per CustomParticle";
- return 0;
+ return nullptr;
}
if (m_count <= 0) {
qmlInfo(this) << "CustomParticle: Too few particles";
- return 0;
+ return nullptr;
}
if (groups().isEmpty())
- return 0;
+ return nullptr;
- QQuickOpenGLShaderEffectNode *rootNode = 0;
+ QQuickOpenGLShaderEffectNode *rootNode = nullptr;
QQuickOpenGLShaderEffectMaterial *material = new QQuickOpenGLShaderEffectMaterial;
m_dirtyProgram = true;
@@ -425,7 +425,7 @@ void QQuickCustomParticle::buildData(QQuickOpenGLShaderEffectNode *rootNode)
void QQuickCustomParticle::initialize(int gIdx, int pIdx)
{
QQuickParticleData* datum = m_system->groupData[gIdx]->data[pIdx];
- datum->r = QRandomGenerator::getReal();
+ datum->r = QRandomGenerator::global()->generateDouble();
}
void QQuickCustomParticle::commit(int gIdx, int pIdx)
diff --git a/src/particles/qquickellipseextruder.cpp b/src/particles/qquickellipseextruder.cpp
index fbb11b34cc..52fccd6da9 100644
--- a/src/particles/qquickellipseextruder.cpp
+++ b/src/particles/qquickellipseextruder.cpp
@@ -68,8 +68,8 @@ QQuickEllipseExtruder::QQuickEllipseExtruder(QObject *parent) :
QPointF QQuickEllipseExtruder::extrude(const QRectF & r)
{
- qreal theta = QRandomGenerator::bounded(2 * M_PI);
- qreal mag = m_fill ? QRandomGenerator::getReal() : 1;
+ qreal theta = QRandomGenerator::global()->bounded(2 * M_PI);
+ qreal mag = m_fill ? QRandomGenerator::global()->generateDouble() : 1;
return QPointF(r.x() + r.width()/2 + mag * (r.width()/2) * qCos(theta),
r.y() + r.height()/2 + mag * (r.height()/2) * qSin(theta));
}
diff --git a/src/particles/qquickimageparticle.cpp b/src/particles/qquickimageparticle.cpp
index 8f809176a9..d2fb78d72a 100644
--- a/src/particles/qquickimageparticle.cpp
+++ b/src/particles/qquickimageparticle.cpp
@@ -67,7 +67,7 @@ class ImageMaterialData
{
public:
ImageMaterialData()
- : texture(0), colorTable(0)
+ : texture(nullptr), colorTable(nullptr)
{}
~ImageMaterialData(){
@@ -701,7 +701,7 @@ void fillUniformArrayFromImage(float* array, const QImage& img, int size)
QQuickImageParticle::QQuickImageParticle(QQuickItem* parent)
: QQuickParticlePainter(parent)
, m_color_variation(0.0)
- , m_material(0)
+ , m_material(nullptr)
, m_alphaVariation(0.0)
, m_alpha(1.0)
, m_redVariation(0.0)
@@ -712,9 +712,9 @@ QQuickImageParticle::QQuickImageParticle(QQuickItem* parent)
, m_rotationVelocity(0)
, m_rotationVelocityVariation(0)
, m_autoRotation(false)
- , m_xVector(0)
- , m_yVector(0)
- , m_spriteEngine(0)
+ , m_xVector(nullptr)
+ , m_yVector(nullptr)
+ , m_spriteEngine(nullptr)
, m_spritesInterpolate(true)
, m_explicitColor(false)
, m_explicitRotation(false)
@@ -743,7 +743,7 @@ QQmlListProperty<QQuickSprite> QQuickImageParticle::sprites()
void QQuickImageParticle::sceneGraphInvalidated()
{
m_nodes.clear();
- m_material = 0;
+ m_material = nullptr;
}
void QQuickImageParticle::setImage(const QUrl &image)
@@ -1011,7 +1011,7 @@ void QQuickImageParticle::resetColor()
for (auto groupId : groupIds()) {
for (QQuickParticleData* d : qAsConst(m_system->groupData[groupId]->data)) {
if (d->colorOwner == this) {
- d->colorOwner = 0;
+ d->colorOwner = nullptr;
}
}
}
@@ -1030,7 +1030,7 @@ void QQuickImageParticle::resetRotation()
for (auto groupId : groupIds()) {
for (QQuickParticleData* d : qAsConst(m_system->groupData[groupId]->data)) {
if (d->rotationOwner == this) {
- d->rotationOwner = 0;
+ d->rotationOwner = nullptr;
}
}
}
@@ -1047,7 +1047,7 @@ void QQuickImageParticle::resetDeformation()
for (auto groupId : groupIds()) {
for (QQuickParticleData* d : qAsConst(m_system->groupData[groupId]->data)) {
if (d->deformationOwner == this) {
- d->deformationOwner = 0;
+ d->deformationOwner = nullptr;
}
}
}
@@ -1055,8 +1055,8 @@ void QQuickImageParticle::resetDeformation()
delete m_xVector;
if (m_yVector)
delete m_yVector;
- m_xVector = 0;
- m_yVector = 0;
+ m_xVector = nullptr;
+ m_yVector = nullptr;
}
void QQuickImageParticle::reset()
@@ -1076,7 +1076,7 @@ void QQuickImageParticle::createEngine()
this, SLOT(spriteAdvance(int)), Qt::DirectConnection);
m_explicitAnimation = true;
} else {
- m_spriteEngine = 0;
+ m_spriteEngine = nullptr;
m_explicitAnimation = false;
}
reset();
@@ -1298,7 +1298,7 @@ void QQuickImageParticle::finishBuildParticleNodes(QSGNode** node)
clearShadows();
if (m_material)
- m_material = 0;
+ m_material = nullptr;
//Setup material
QImage colortable;
@@ -1473,12 +1473,12 @@ static inline bool isOpenGL(QSGRenderContext *rc)
QSGNode *QQuickImageParticle::updatePaintNode(QSGNode *node, UpdatePaintNodeData *)
{
if (!node && !isOpenGL(QQuickItemPrivate::get(this)->sceneGraphRenderContext()))
- return 0;
+ return nullptr;
if (m_pleaseReset){
if (node)
delete node;
- node = 0;
+ node = nullptr;
m_lastLevel = perfLevel;
m_nodes.clear();
@@ -1487,7 +1487,7 @@ QSGNode *QQuickImageParticle::updatePaintNode(QSGNode *node, UpdatePaintNodeData
m_startsIdx.clear();
m_lastIdxStart = 0;
- m_material = 0;
+ m_material = nullptr;
m_pleaseReset = false;
m_startedImageLoading = 0;//Cancel a part-way build (may still have a pending load)
@@ -1509,7 +1509,7 @@ QSGNode *QQuickImageParticle::updatePaintNode(QSGNode *node, UpdatePaintNodeData
void QQuickImageParticle::prepareNextFrame(QSGNode **node)
{
- if (*node == 0){//TODO: Staggered loading (as emitted)
+ if (*node == nullptr){//TODO: Staggered loading (as emitted)
buildParticleNodes(node);
if (m_debugMode) {
qDebug() << "QQuickImageParticle Feature level: " << perfLevel;
@@ -1522,7 +1522,7 @@ void QQuickImageParticle::prepareNextFrame(QSGNode **node)
}
qDebug() << "Total count: " << count;
}
- if (*node == 0)
+ if (*node == nullptr)
return;
}
qint64 timeStamp = m_system->systemSync(this);
@@ -1730,9 +1730,9 @@ void QQuickImageParticle::initialize(int gIdx, int pIdx)
if (!datum->rotationOwner)
datum->rotationOwner = this;
rotation =
- (m_rotation + (m_rotationVariation - 2*QRandomGenerator::bounded(m_rotationVariation)) ) * CONV;
+ (m_rotation + (m_rotationVariation - 2*QRandomGenerator::global()->bounded(m_rotationVariation)) ) * CONV;
rotationVelocity =
- (m_rotationVelocity + (m_rotationVelocityVariation - 2*QRandomGenerator::bounded(m_rotationVelocityVariation)) ) * CONV;
+ (m_rotationVelocity + (m_rotationVelocityVariation - 2*QRandomGenerator::global()->bounded(m_rotationVelocityVariation)) ) * CONV;
autoRotate = m_autoRotation?1.0:0.0;
if (datum->rotationOwner == this) {
datum->rotation = rotation;
@@ -1751,10 +1751,10 @@ void QQuickImageParticle::initialize(int gIdx, int pIdx)
if (m_explicitColor) {
if (!datum->colorOwner)
datum->colorOwner = this;
- color.r = m_color.red() * (1 - redVariation) + QRandomGenerator::bounded(256) * redVariation;
- color.g = m_color.green() * (1 - greenVariation) + QRandomGenerator::bounded(256) * greenVariation;
- color.b = m_color.blue() * (1 - blueVariation) + QRandomGenerator::bounded(256) * blueVariation;
- color.a = m_alpha * m_color.alpha() * (1 - m_alphaVariation) + QRandomGenerator::bounded(256) * m_alphaVariation;
+ color.r = m_color.red() * (1 - redVariation) + QRandomGenerator::global()->bounded(256) * redVariation;
+ color.g = m_color.green() * (1 - greenVariation) + QRandomGenerator::global()->bounded(256) * greenVariation;
+ color.b = m_color.blue() * (1 - blueVariation) + QRandomGenerator::global()->bounded(256) * blueVariation;
+ color.a = m_alpha * m_color.alpha() * (1 - m_alphaVariation) + QRandomGenerator::global()->bounded(256) * m_alphaVariation;
if (datum->colorOwner == this)
datum->color = color;
else
diff --git a/src/particles/qquickitemparticle.cpp b/src/particles/qquickitemparticle.cpp
index 50b66a4d15..412390dffc 100644
--- a/src/particles/qquickitemparticle.cpp
+++ b/src/particles/qquickitemparticle.cpp
@@ -118,7 +118,7 @@ QT_BEGIN_NAMESPACE
*/
QQuickItemParticle::QQuickItemParticle(QQuickItem *parent) :
- QQuickParticlePainter(parent), m_fade(true), m_lastT(0), m_activeCount(0), m_delegate(0)
+ QQuickParticlePainter(parent), m_fade(true), m_lastT(0), m_activeCount(0), m_delegate(nullptr)
{
setFlag(QQuickItem::ItemHasContents);
clock = new Clock(this);
@@ -195,7 +195,7 @@ void QQuickItemParticle::tick(int time)
//remove old item from the particle that is dying to make room for this one
if (d->delegate) {
m_deletables << d->delegate;
- d->delegate = 0;
+ d->delegate = nullptr;
}
if (!m_pendingItems.isEmpty()){
d->delegate = m_pendingItems.front();
@@ -289,7 +289,7 @@ void QQuickItemParticle::prepareNextFrame()
}
if (t >= 1.0f){//Usually happens from load
m_deletables << item;
- data->delegate = 0;
+ data->delegate = nullptr;
}else{//Fade
data->delegate->setVisible(true);
if (m_fade){
diff --git a/src/particles/qquicklineextruder.cpp b/src/particles/qquicklineextruder.cpp
index 6ebd728407..670e656b8e 100644
--- a/src/particles/qquicklineextruder.cpp
+++ b/src/particles/qquicklineextruder.cpp
@@ -69,10 +69,10 @@ QPointF QQuickLineExtruder::extrude(const QRectF &r)
{
qreal x,y;
if (!r.height()){
- x = r.width() * QRandomGenerator::getReal();
+ x = r.width() * QRandomGenerator::global()->generateDouble();
y = 0;
}else{
- y = r.height() * QRandomGenerator::getReal();
+ y = r.height() * QRandomGenerator::global()->generateDouble();
if (!r.width()){
x = 0;
}else{
diff --git a/src/particles/qquickmaskextruder.cpp b/src/particles/qquickmaskextruder.cpp
index 60c23c55a8..6ab6dcc6a4 100644
--- a/src/particles/qquickmaskextruder.cpp
+++ b/src/particles/qquickmaskextruder.cpp
@@ -103,7 +103,7 @@ QPointF QQuickMaskExtruder::extrude(const QRectF &r)
ensureInitialized(r);
if (!m_mask.count() || m_img.isNull())
return r.topLeft();
- const QPointF p = m_mask[QRandomGenerator::bounded(m_mask.count())];
+ const QPointF p = m_mask[QRandomGenerator::global()->bounded(m_mask.count())];
//### Should random sub-pixel positioning be added?
return p + r.topLeft();
}
diff --git a/src/particles/qquickparticleaffector.cpp b/src/particles/qquickparticleaffector.cpp
index 30716ecb80..76089c1abd 100644
--- a/src/particles/qquickparticleaffector.cpp
+++ b/src/particles/qquickparticleaffector.cpp
@@ -131,7 +131,7 @@ QT_BEGIN_NAMESPACE
*/
QQuickParticleAffector::QQuickParticleAffector(QQuickItem *parent) :
QQuickItem(parent), m_needsReset(false), m_ignoresTime(false), m_onceOff(false), m_enabled(true)
- , m_system(0), m_updateIntSet(false), m_shape(new QQuickParticleExtruder(this))
+ , m_system(nullptr), m_updateIntSet(false), m_shape(new QQuickParticleExtruder(this))
{
}
diff --git a/src/particles/qquickparticleemitter.cpp b/src/particles/qquickparticleemitter.cpp
index d18250d706..78409d3a44 100644
--- a/src/particles/qquickparticleemitter.cpp
+++ b/src/particles/qquickparticleemitter.cpp
@@ -222,9 +222,9 @@ QQuickParticleEmitter::QQuickParticleEmitter(QQuickItem *parent) :
, m_particleDuration(1000)
, m_particleDurationVariation(0)
, m_enabled(true)
- , m_system(0)
- , m_extruder(0)
- , m_defaultExtruder(0)
+ , m_system(nullptr)
+ , m_extruder(nullptr)
+ , m_defaultExtruder(nullptr)
, m_velocity(&m_nullVector)
, m_acceleration(&m_nullVector)
, m_particleSize(16)
@@ -349,7 +349,7 @@ void QQuickParticleEmitter::reset()
void QQuickParticleEmitter::emitWindow(int timeStamp)
{
- if (m_system == 0)
+ if (m_system == nullptr)
return;
if ((!m_enabled || m_particlesPerSecond <= 0)&& !m_pulseLeft && m_burstQueue.isEmpty()){
m_reset_last = true;
@@ -425,7 +425,7 @@ void QQuickParticleEmitter::emitWindow(int timeStamp)
datum->t = pt;
datum->lifeSpan =
(m_particleDuration
- + (QRandomGenerator::bounded((m_particleDurationVariation*2) + 1) - m_particleDurationVariation))
+ + (QRandomGenerator::global()->bounded((m_particleDurationVariation*2) + 1) - m_particleDurationVariation))
/ 1000.0;
if (datum->lifeSpan >= m_system->maxLife){
@@ -462,7 +462,7 @@ void QQuickParticleEmitter::emitWindow(int timeStamp)
// Particle size
float sizeVariation = -m_particleSizeVariation
- + QRandomGenerator::bounded(m_particleSizeVariation * 2);
+ + QRandomGenerator::global()->bounded(m_particleSizeVariation * 2);
float size = qMax((qreal)0.0 , m_particleSize + sizeVariation);
float endSize = qMax((qreal)0.0 , sizeAtEnd + sizeVariation);
@@ -486,7 +486,7 @@ void QQuickParticleEmitter::emitWindow(int timeStamp)
if (isEmitConnected()) {
QQmlEngine *qmlEngine = ::qmlEngine(this);
- QV4::ExecutionEngine *v4 = QV8Engine::getV4(qmlEngine->handle());
+ QV4::ExecutionEngine *v4 = qmlEngine->handle();
QV4::Scope scope(v4);
//Done after emitParticle so that the Painter::load is done first, this allows you to customize its static variables
diff --git a/src/particles/qquickparticleextruder.cpp b/src/particles/qquickparticleextruder.cpp
index 74b450921f..816ff34960 100644
--- a/src/particles/qquickparticleextruder.cpp
+++ b/src/particles/qquickparticleextruder.cpp
@@ -59,8 +59,8 @@ QQuickParticleExtruder::QQuickParticleExtruder(QObject *parent) :
QPointF QQuickParticleExtruder::extrude(const QRectF &rect)
{
- return QPointF(QRandomGenerator::getReal() * rect.width() + rect.x(),
- QRandomGenerator::getReal() * rect.height() + rect.y());
+ return QPointF(QRandomGenerator::global()->generateDouble() * rect.width() + rect.x(),
+ QRandomGenerator::global()->generateDouble() * rect.height() + rect.y());
}
bool QQuickParticleExtruder::contains(const QRectF &bounds, const QPointF &point)
diff --git a/src/particles/qquickparticlegroup.cpp b/src/particles/qquickparticlegroup.cpp
index 2ee2a1d0a3..a42d2bcb13 100644
--- a/src/particles/qquickparticlegroup.cpp
+++ b/src/particles/qquickparticlegroup.cpp
@@ -91,7 +91,7 @@
QQuickParticleGroup::QQuickParticleGroup(QObject* parent)
: QQuickStochasticState(parent)
- , m_system(0)
+ , m_system(nullptr)
{
}
@@ -107,9 +107,9 @@ QQmlListProperty<QObject> QQuickParticleGroup::particleChildren()
{
QQuickParticleSystem* system = qobject_cast<QQuickParticleSystem*>(parent());
if (system)
- return QQmlListProperty<QObject>(this, 0, &QQuickParticleSystem::statePropertyRedirect, 0, 0, 0);
+ return QQmlListProperty<QObject>(this, nullptr, &QQuickParticleSystem::statePropertyRedirect, nullptr, nullptr, nullptr);
else
- return QQmlListProperty<QObject>(this, 0, &delayedRedirect, 0, 0, 0);
+ return QQmlListProperty<QObject>(this, nullptr, &delayedRedirect, nullptr, nullptr, nullptr);
}
void QQuickParticleGroup::setSystem(QQuickParticleSystem* arg)
diff --git a/src/particles/qquickparticlepainter.cpp b/src/particles/qquickparticlepainter.cpp
index 70fc2d59e3..13591be97a 100644
--- a/src/particles/qquickparticlepainter.cpp
+++ b/src/particles/qquickparticlepainter.cpp
@@ -66,10 +66,10 @@ QT_BEGIN_NAMESPACE
*/
QQuickParticlePainter::QQuickParticlePainter(QQuickItem *parent)
: QQuickItem(parent)
- , m_system(0)
+ , m_system(nullptr)
, m_count(0)
, m_pleaseReset(true)
- , m_window(0)
+ , m_window(nullptr)
, m_groupIdsNeedRecalculation(false)
{
}
diff --git a/src/particles/qquickparticlesystem.cpp b/src/particles/qquickparticlesystem.cpp
index cc7d9edbc8..612675fec7 100644
--- a/src/particles/qquickparticlesystem.cpp
+++ b/src/particles/qquickparticlesystem.cpp
@@ -378,7 +378,7 @@ QQuickParticleData* QQuickParticleGroupData::newDatum(bool respectsLimits)
return data[idx];
}
if (respectsLimits)
- return 0;
+ return nullptr;
int oldSize = m_size;
setSize(oldSize + 10);//###+1,10%,+10? Choose something non-arbitrarily
@@ -418,11 +418,11 @@ QQuickParticleData::QQuickParticleData()
: index(0)
, systemIndex(-1)
, groupId(0)
- , colorOwner(0)
- , rotationOwner(0)
- , deformationOwner(0)
- , animationOwner(0)
- , v8Datum(0)
+ , colorOwner(nullptr)
+ , rotationOwner(nullptr)
+ , deformationOwner(nullptr)
+ , animationOwner(nullptr)
+ , v8Datum(nullptr)
{
x = 0;
y = 0;
@@ -455,7 +455,7 @@ QQuickParticleData::QQuickParticleData()
color.b = 255;
color.a = 255;
r = 0;
- delegate = 0;
+ delegate = nullptr;
modelIndex = -1;
}
@@ -477,7 +477,7 @@ QQuickParticleData &QQuickParticleData::operator=(const QQuickParticleData &othe
index = other.index;
systemIndex = other.systemIndex;
// Lazily initialized
- v8Datum = 0;
+ v8Datum = nullptr;
return *this;
}
@@ -526,7 +526,7 @@ void QQuickParticleData::clone(const QQuickParticleData& other)
QQmlV4Handle QQuickParticleData::v4Value(QQuickParticleSystem* particleSystem)
{
if (!v8Datum)
- v8Datum = new QQuickV4ParticleData(QQmlEnginePrivate::getV8Engine(qmlEngine(particleSystem)), this, particleSystem);
+ v8Datum = new QQuickV4ParticleData(qmlEngine(particleSystem)->handle(), this, particleSystem);
return v8Datum->v4Value();
}
@@ -564,9 +564,9 @@ void QQuickParticleData::extendLife(float time, QQuickParticleSystem* particleSy
QQuickParticleSystem::QQuickParticleSystem(QQuickItem *parent) :
QQuickItem(parent),
- stateEngine(0),
+ stateEngine(nullptr),
nextFreeGroupId(0),
- m_animation(0),
+ m_animation(nullptr),
m_running(true),
initialized(0),
particleCount(0),
@@ -768,9 +768,9 @@ void QQuickParticleSystem::reset()
timeInt = 0;
//Clear guarded pointers which have been deleted
int cleared = 0;
- cleared += m_emitters.removeAll(0);
- cleared += m_painters.removeAll(0);
- cleared += m_affectors.removeAll(0);
+ cleared += m_emitters.removeAll(nullptr);
+ cleared += m_painters.removeAll(nullptr);
+ cleared += m_affectors.removeAll(nullptr);
bySysIdx.resize(0);
initGroups();//Also clears all logical particles
@@ -945,7 +945,7 @@ void QQuickParticleSystem::createEngine()
} else {
if (stateEngine)
delete stateEngine;
- stateEngine = 0;
+ stateEngine = nullptr;
}
}
@@ -993,7 +993,7 @@ QQuickParticleData* QQuickParticleSystem::newDatum(int groupId, bool respectLimi
QQuickParticleData* ret = groupData[groupId]->newDatum(respectLimits);
if (!ret) {
- return 0;
+ return nullptr;
}
if (sysIndex == -1) {
if (ret->systemIndex == -1)
@@ -1056,9 +1056,9 @@ void QQuickParticleSystem::updateCurrentTime( int currentTime )
dt = time - dt;
needsReset.clear();
- m_emitters.removeAll(0);
- m_painters.removeAll(0);
- m_affectors.removeAll(0);
+ m_emitters.removeAll(nullptr);
+ m_painters.removeAll(nullptr);
+ m_affectors.removeAll(nullptr);
bool oldClear = m_empty;
m_empty = true;
diff --git a/src/particles/qquickparticlesystem_p.h b/src/particles/qquickparticlesystem_p.h
index 92dca40419..73351fb99a 100644
--- a/src/particles/qquickparticlesystem_p.h
+++ b/src/particles/qquickparticlesystem_p.h
@@ -137,10 +137,7 @@ class Q_QUICKPARTICLES_PRIVATE_EXPORT QQuickParticleGroupData {
class FreeList
{
public:
- FreeList()
- : firstUnused(UINT_MAX)
- , allocated(0)
- {}
+ FreeList() {}
void resize(int newSize)
{
@@ -189,8 +186,8 @@ class Q_QUICKPARTICLES_PRIVATE_EXPORT QQuickParticleGroupData {
private:
QV4::BitVector isUnused;
- unsigned firstUnused;
- int allocated;
+ unsigned firstUnused = UINT_MAX;
+ int allocated = 0;
};
public: // types
@@ -353,7 +350,7 @@ class Q_QUICKPARTICLES_PRIVATE_EXPORT QQuickParticleSystem : public QQuickItem
Q_PROPERTY(bool empty READ isEmpty NOTIFY emptyChanged)
public:
- explicit QQuickParticleSystem(QQuickItem *parent = 0);
+ explicit QQuickParticleSystem(QQuickItem *parent = nullptr);
~QQuickParticleSystem();
bool isRunning() const
diff --git a/src/particles/qquickpointdirection.cpp b/src/particles/qquickpointdirection.cpp
index 7b5c9bada1..f22eea2a76 100644
--- a/src/particles/qquickpointdirection.cpp
+++ b/src/particles/qquickpointdirection.cpp
@@ -78,8 +78,8 @@ QQuickPointDirection::QQuickPointDirection(QObject *parent) :
QPointF QQuickPointDirection::sample(const QPointF &)
{
QPointF ret;
- ret.setX(m_x - m_xVariation + QRandomGenerator::getReal() * m_xVariation * 2);
- ret.setY(m_y - m_yVariation + QRandomGenerator::getReal() * m_yVariation * 2);
+ ret.setX(m_x - m_xVariation + QRandomGenerator::global()->generateDouble() * m_xVariation * 2);
+ ret.setY(m_y - m_yVariation + QRandomGenerator::global()->generateDouble() * m_yVariation * 2);
return ret;
}
diff --git a/src/particles/qquickrectangleextruder.cpp b/src/particles/qquickrectangleextruder.cpp
index 6474f61630..36e4871d29 100644
--- a/src/particles/qquickrectangleextruder.cpp
+++ b/src/particles/qquickrectangleextruder.cpp
@@ -60,21 +60,21 @@ QQuickRectangleExtruder::QQuickRectangleExtruder(QObject *parent) :
QPointF QQuickRectangleExtruder::extrude(const QRectF &rect)
{
if (m_fill)
- return QPointF(QRandomGenerator::getReal() * rect.width() + rect.x(),
- QRandomGenerator::getReal() * rect.height() + rect.y());
- int side = QRandomGenerator::bounded(4);
+ return QPointF(QRandomGenerator::global()->generateDouble() * rect.width() + rect.x(),
+ QRandomGenerator::global()->generateDouble() * rect.height() + rect.y());
+ int side = QRandomGenerator::global()->bounded(4);
switch (side){//TODO: Doesn't this overlap the corners?
case 0:
return QPointF(rect.x(),
- QRandomGenerator::getReal() * rect.height() + rect.y());
+ QRandomGenerator::global()->generateDouble() * rect.height() + rect.y());
case 1:
return QPointF(rect.width() + rect.x(),
- QRandomGenerator::getReal() * rect.height() + rect.y());
+ QRandomGenerator::global()->generateDouble() * rect.height() + rect.y());
case 2:
- return QPointF(QRandomGenerator::getReal() * rect.width() + rect.x(),
+ return QPointF(QRandomGenerator::global()->generateDouble() * rect.width() + rect.x(),
rect.y());
default:
- return QPointF(QRandomGenerator::getReal() * rect.width() + rect.x(),
+ return QPointF(QRandomGenerator::global()->generateDouble() * rect.width() + rect.x(),
rect.height() + rect.y());
}
}
diff --git a/src/particles/qquickspritegoal.cpp b/src/particles/qquickspritegoal.cpp
index 2e420a2840..75d6f8bdf6 100644
--- a/src/particles/qquickspritegoal.cpp
+++ b/src/particles/qquickspritegoal.cpp
@@ -82,7 +82,7 @@ QT_BEGIN_NAMESPACE
QQuickSpriteGoalAffector::QQuickSpriteGoalAffector(QQuickItem *parent) :
QQuickParticleAffector(parent),
m_goalIdx(-1),
- m_lastEngine(0),
+ m_lastEngine(nullptr),
m_jump(false),
m_systemStates(false),
m_notUsingEngine(false)
@@ -121,7 +121,7 @@ void QQuickSpriteGoalAffector::setGoalState(const QString &arg)
bool QQuickSpriteGoalAffector::affectParticle(QQuickParticleData *d, qreal dt)
{
Q_UNUSED(dt);
- QQuickStochasticEngine *engine = 0;
+ QQuickStochasticEngine *engine = nullptr;
if (!m_systemStates){
//TODO: Affect all engines
foreach (QQuickParticlePainter *p, m_system->groupData[d->groupId]->painters)
diff --git a/src/particles/qquicktargetdirection.cpp b/src/particles/qquicktargetdirection.cpp
index 96b78a53b4..5d84f9dc2b 100644
--- a/src/particles/qquicktargetdirection.cpp
+++ b/src/particles/qquicktargetdirection.cpp
@@ -91,7 +91,7 @@ QQuickTargetDirection::QQuickTargetDirection(QObject *parent) :
, m_proportionalMagnitude(false)
, m_magnitude(0)
, m_magnitudeVariation(0)
- , m_targetItem(0)
+ , m_targetItem(nullptr)
{
}
@@ -118,10 +118,10 @@ QPointF QQuickTargetDirection::sample(const QPointF &from)
targetX = m_targetX;
targetY = m_targetY;
}
- targetX += 0 - from.x() - m_targetVariation + QRandomGenerator::getReal() * m_targetVariation*2;
- targetY += 0 - from.y() - m_targetVariation + QRandomGenerator::getReal() * m_targetVariation*2;
+ targetX += 0 - from.x() - m_targetVariation + QRandomGenerator::global()->generateDouble() * m_targetVariation*2;
+ targetY += 0 - from.y() - m_targetVariation + QRandomGenerator::global()->generateDouble() * m_targetVariation*2;
qreal theta = std::atan2(targetY, targetX);
- qreal mag = m_magnitude + QRandomGenerator::getReal() * m_magnitudeVariation * 2 - m_magnitudeVariation;
+ qreal mag = m_magnitude + QRandomGenerator::global()->generateDouble() * m_magnitudeVariation * 2 - m_magnitudeVariation;
if (m_proportionalMagnitude)
mag *= std::sqrt(targetX * targetX + targetY * targetY);
ret.setX(mag * std::cos(theta));
diff --git a/src/particles/qquicktrailemitter.cpp b/src/particles/qquicktrailemitter.cpp
index 14075f6b23..fde5eab617 100644
--- a/src/particles/qquicktrailemitter.cpp
+++ b/src/particles/qquicktrailemitter.cpp
@@ -62,7 +62,7 @@ QQuickTrailEmitter::QQuickTrailEmitter(QQuickItem *parent) :
, m_emitterXVariation(0)
, m_emitterYVariation(0)
, m_followCount(0)
- , m_emissionExtruder(0)
+ , m_emissionExtruder(nullptr)
, m_defaultEmissionExtruder(new QQuickParticleExtruder(this))
{
//TODO: If followed increased their size
@@ -150,7 +150,7 @@ void QQuickTrailEmitter::reset()
void QQuickTrailEmitter::emitWindow(int timeStamp)
{
- if (m_system == 0)
+ if (m_system == nullptr)
return;
if (!m_enabled && !m_pulseLeft && m_burstQueue.isEmpty())
return;
@@ -208,7 +208,7 @@ void QQuickTrailEmitter::emitWindow(int timeStamp)
datum->t = pt;
datum->lifeSpan =
(m_particleDuration
- + (QRandomGenerator::bounded((m_particleDurationVariation*2) + 1) - m_particleDurationVariation))
+ + (QRandomGenerator::global()->bounded((m_particleDurationVariation*2) + 1) - m_particleDurationVariation))
/ 1000.0;
// Particle position
@@ -241,7 +241,7 @@ void QQuickTrailEmitter::emitWindow(int timeStamp)
// Particle size
float sizeVariation = -m_particleSizeVariation
- + QRandomGenerator::getReal() * m_particleSizeVariation * 2;
+ + QRandomGenerator::global()->generateDouble() * m_particleSizeVariation * 2;
float size = qMax((qreal)0.0, m_particleSize + sizeVariation);
float endSize = qMax((qreal)0.0, sizeAtEnd + sizeVariation);
@@ -267,7 +267,7 @@ void QQuickTrailEmitter::emitWindow(int timeStamp)
if (isEmitConnected() || isEmitFollowConnected()) {
QQmlEngine *qmlEngine = ::qmlEngine(this);
- QV4::ExecutionEngine *v4 = QV8Engine::getV4(qmlEngine->handle());
+ QV4::ExecutionEngine *v4 = qmlEngine->handle();
QV4::Scope scope(v4);
QV4::ScopedArrayObject array(scope, v4->newArrayObject(toEmit.size()));
diff --git a/src/particles/qquickturbulence.cpp b/src/particles/qquickturbulence.cpp
index f916635358..dc72d884bc 100644
--- a/src/particles/qquickturbulence.cpp
+++ b/src/particles/qquickturbulence.cpp
@@ -81,7 +81,7 @@ QT_BEGIN_NAMESPACE
QQuickTurbulenceAffector::QQuickTurbulenceAffector(QQuickItem *parent) :
QQuickParticleAffector(parent),
- m_strength(10), m_lastT(0), m_gridSize(0), m_field(0), m_vectorField(0), m_inited(false)
+ m_strength(10), m_lastT(0), m_gridSize(0), m_field(nullptr), m_vectorField(nullptr), m_inited(false)
{
}
diff --git a/src/particles/qquickv4particledata.cpp b/src/particles/qquickv4particledata.cpp
index acb37f25bf..c3d1978a2c 100644
--- a/src/particles/qquickv4particledata.cpp
+++ b/src/particles/qquickv4particledata.cpp
@@ -294,15 +294,15 @@ class QV4ParticleDataDeletable : public QV8Engine::Deletable
{
public:
QV4ParticleDataDeletable(QV4::ExecutionEngine *engine);
- ~QV4ParticleDataDeletable();
+ ~QV4ParticleDataDeletable() override;
QV4::PersistentValue proto;
};
-static QV4::ReturnedValue particleData_discard(const QV4::BuiltinFunction *b, QV4::CallData *callData)
+static QV4::ReturnedValue particleData_discard(const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *, int)
{
QV4::Scope scope(b);
- QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject);
+ QV4::Scoped<QV4ParticleData> r(scope, *thisObject);
if (!r || !r->d()->datum)
RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object")));
@@ -311,10 +311,10 @@ static QV4::ReturnedValue particleData_discard(const QV4::BuiltinFunction *b, QV
RETURN_RESULT(QV4::Encode::undefined());
}
-static QV4::ReturnedValue particleData_lifeLeft(const QV4::BuiltinFunction *b, QV4::CallData *callData)
+static QV4::ReturnedValue particleData_lifeLeft(const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *, int)
{
QV4::Scope scope(b);
- QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject);
+ QV4::Scoped<QV4ParticleData> r(scope, *thisObject);
if (!r || !r->d()->datum)
RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object")));
@@ -322,99 +322,99 @@ static QV4::ReturnedValue particleData_lifeLeft(const QV4::BuiltinFunction *b, Q
RETURN_RESULT(QV4::Encode(r->d()->datum->lifeLeft(r->d()->particleSystem)));
}
-static QV4::ReturnedValue particleData_curSize(const QV4::BuiltinFunction *b, QV4::CallData *callData)
+static QV4::ReturnedValue particleData_curSize(const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *, int)
{
QV4::Scope scope(b);
- QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject);
+ QV4::Scoped<QV4ParticleData> r(scope, *thisObject);
if (!r || !r->d()->datum)
RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object")));
RETURN_RESULT(QV4::Encode(r->d()->datum->curSize(r->d()->particleSystem)));
}
-#define COLOR_GETTER_AND_SETTER(VAR, NAME) static QV4::ReturnedValue particleData_get_ ## NAME (const QV4::BuiltinFunction *b, QV4::CallData *callData) \
+#define COLOR_GETTER_AND_SETTER(VAR, NAME) static QV4::ReturnedValue particleData_get_ ## NAME (const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *, int) \
{ \
QV4::Scope scope(b); \
- QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); \
+ QV4::Scoped<QV4ParticleData> r(scope, *thisObject); \
if (!r || !r->d()->datum) \
RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object"))); \
\
RETURN_RESULT(QV4::Encode((r->d()->datum->color. VAR )/255.0));\
}\
\
-static QV4::ReturnedValue particleData_set_ ## NAME (const QV4::BuiltinFunction *b, QV4::CallData *callData)\
+static QV4::ReturnedValue particleData_set_ ## NAME (const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *argv, int argc)\
{\
QV4::Scope scope(b); \
- QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); \
+ QV4::Scoped<QV4ParticleData> r(scope, *thisObject); \
if (!r || !r->d()->datum)\
RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object")));\
\
- double d = callData->argc() ? callData->args[0].toNumber() : 0; \
+ double d = argc ? argv[0].toNumber() : 0; \
r->d()->datum->color. VAR = qMin(255, qMax(0, (int)::floor(d * 255.0)));\
RETURN_UNDEFINED(); \
}
-#define SEMIBOOL_GETTER_AND_SETTER(VARIABLE) static QV4::ReturnedValue particleData_get_ ## VARIABLE (const QV4::BuiltinFunction *b, QV4::CallData *callData) \
+#define SEMIBOOL_GETTER_AND_SETTER(VARIABLE) static QV4::ReturnedValue particleData_get_ ## VARIABLE (const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *, int) \
{ \
QV4::Scope scope(b); \
- QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); \
+ QV4::Scoped<QV4ParticleData> r(scope, *thisObject); \
if (!r || !r->d()->datum) \
RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object"))); \
\
RETURN_RESULT(QV4::Encode(r->d()->datum-> VARIABLE));\
}\
\
-static QV4::ReturnedValue particleData_set_ ## VARIABLE (const QV4::BuiltinFunction *b, QV4::CallData *callData)\
+static QV4::ReturnedValue particleData_set_ ## VARIABLE (const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *argv, int argc)\
{\
QV4::Scope scope(b); \
- QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); \
+ QV4::Scoped<QV4ParticleData> r(scope, *thisObject); \
if (!r || !r->d()->datum)\
RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object")));\
\
- r->d()->datum-> VARIABLE = (callData->argc() && callData->args[0].toBoolean()) ? 1.0 : 0.0;\
+ r->d()->datum-> VARIABLE = (argc && argv[0].toBoolean()) ? 1.0 : 0.0;\
RETURN_UNDEFINED(); \
}
-#define FLOAT_GETTER_AND_SETTER(VARIABLE) static QV4::ReturnedValue particleData_get_ ## VARIABLE (const QV4::BuiltinFunction *b, QV4::CallData *callData) \
+#define FLOAT_GETTER_AND_SETTER(VARIABLE) static QV4::ReturnedValue particleData_get_ ## VARIABLE (const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *, int) \
{ \
QV4::Scope scope(b); \
- QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); \
+ QV4::Scoped<QV4ParticleData> r(scope, *thisObject); \
if (!r || !r->d()->datum) \
RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object"))); \
\
RETURN_RESULT(QV4::Encode(r->d()->datum-> VARIABLE));\
}\
\
-static QV4::ReturnedValue particleData_set_ ## VARIABLE (const QV4::BuiltinFunction *b, QV4::CallData *callData)\
+static QV4::ReturnedValue particleData_set_ ## VARIABLE (const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *argv, int argc)\
{\
QV4::Scope scope(b); \
- QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); \
+ QV4::Scoped<QV4ParticleData> r(scope, *thisObject); \
if (!r || !r->d()->datum)\
RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object")));\
\
- r->d()->datum-> VARIABLE = callData->argc() ? callData->args[0].toNumber() : qt_qnan();\
+ r->d()->datum-> VARIABLE = argc ? argv[0].toNumber() : qt_qnan();\
RETURN_UNDEFINED(); \
}
-#define FAKE_FLOAT_GETTER_AND_SETTER(VARIABLE, GETTER, SETTER) static QV4::ReturnedValue particleData_get_ ## VARIABLE (const QV4::BuiltinFunction *b, QV4::CallData *callData) \
+#define FAKE_FLOAT_GETTER_AND_SETTER(VARIABLE, GETTER, SETTER) static QV4::ReturnedValue particleData_get_ ## VARIABLE (const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *, int) \
{ \
QV4::Scope scope(b); \
- QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); \
+ QV4::Scoped<QV4ParticleData> r(scope, *thisObject); \
if (!r || !r->d()->datum) \
RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object"))); \
\
RETURN_RESULT(QV4::Encode(r->d()->datum-> GETTER (r->d()->particleSystem)));\
}\
\
-static QV4::ReturnedValue particleData_set_ ## VARIABLE (const QV4::BuiltinFunction *b, QV4::CallData *callData)\
+static QV4::ReturnedValue particleData_set_ ## VARIABLE (const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *argv, int argc)\
{\
QV4::Scope scope(b); \
- QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); \
+ QV4::Scoped<QV4ParticleData> r(scope, *thisObject); \
if (!r || !r->d()->datum)\
RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object")));\
\
- r->d()->datum-> SETTER (callData->argc() ? callData->args[0].toNumber() : qt_qnan(), r->d()->particleSystem);\
+ r->d()->datum-> SETTER (argc ? argv[0].toNumber() : qt_qnan(), r->d()->particleSystem);\
RETURN_UNDEFINED(); \
}
@@ -510,12 +510,12 @@ QV4ParticleDataDeletable::~QV4ParticleDataDeletable()
V4_DEFINE_EXTENSION(QV4ParticleDataDeletable, particleV4Data);
-QQuickV4ParticleData::QQuickV4ParticleData(QV8Engine* engine, QQuickParticleData* datum, QQuickParticleSystem *system)
+QQuickV4ParticleData::QQuickV4ParticleData(QV4::ExecutionEngine* v4, QQuickParticleData* datum,
+ QQuickParticleSystem *system)
{
- if (!engine || !datum)
+ if (!v4 || !datum)
return;
- QV4::ExecutionEngine *v4 = QV8Engine::getV4(engine);
QV4::Scope scope(v4);
QV4ParticleDataDeletable *d = particleV4Data(scope.engine);
QV4::ScopedObject o(scope, v4->memoryManager->allocObject<QV4ParticleData>(datum, system));
diff --git a/src/particles/qquickv4particledata_p.h b/src/particles/qquickv4particledata_p.h
index d73e3b644d..3d682ab297 100644
--- a/src/particles/qquickv4particledata_p.h
+++ b/src/particles/qquickv4particledata_p.h
@@ -61,7 +61,7 @@ class QQuickParticleData;
class QQuickParticleSystem;
class QQuickV4ParticleData {
public:
- QQuickV4ParticleData(QV8Engine*, QQuickParticleData*, QQuickParticleSystem *system);
+ QQuickV4ParticleData(QV4::ExecutionEngine*, QQuickParticleData*, QQuickParticleSystem *system);
~QQuickV4ParticleData();
QQmlV4Handle v4Value() const;
private:
diff --git a/src/particles/qquickwander.cpp b/src/particles/qquickwander.cpp
index cfdede440b..a78482ec84 100644
--- a/src/particles/qquickwander.cpp
+++ b/src/particles/qquickwander.cpp
@@ -103,8 +103,8 @@ WanderData* QQuickWanderAffector::getData(int idx)
d->y_vel = 0;
d->x_peak = m_xVariance;
d->y_peak = m_yVariance;
- d->x_var = m_pace * QRandomGenerator::getReal();
- d->y_var = m_pace * QRandomGenerator::getReal();
+ d->x_var = m_pace * QRandomGenerator::global()->generateDouble();
+ d->y_var = m_pace * QRandomGenerator::global()->generateDouble();
m_wanderData.insert(idx, d);
return d;
@@ -125,7 +125,7 @@ bool QQuickWanderAffector::affectParticle(QQuickParticleData* data, qreal dt)
if (m_xVariance != 0.) {
if ((d->x_vel > d->x_peak && d->x_var > 0.0) || (d->x_vel < -d->x_peak && d->x_var < 0.0)) {
d->x_var = -d->x_var;
- d->x_peak = m_xVariance + m_xVariance * QRandomGenerator::getReal();
+ d->x_peak = m_xVariance + m_xVariance * QRandomGenerator::global()->generateDouble();
}
d->x_vel += d->x_var * dt;
}
@@ -134,7 +134,7 @@ bool QQuickWanderAffector::affectParticle(QQuickParticleData* data, qreal dt)
if (m_yVariance != 0.) {
if ((d->y_vel > d->y_peak && d->y_var > 0.0) || (d->y_vel < -d->y_peak && d->y_var < 0.0)) {
d->y_var = -d->y_var;
- d->y_peak = m_yVariance + m_yVariance * QRandomGenerator::getReal();
+ d->y_peak = m_yVariance + m_yVariance * QRandomGenerator::global()->generateDouble();
}
d->y_vel += d->y_var * dt;
}
@@ -147,8 +147,8 @@ bool QQuickWanderAffector::affectParticle(QQuickParticleData* data, qreal dt)
p->y += dy;
return true;
*/
- qreal dx = dt * m_pace * (2 * QRandomGenerator::getReal() - 1);
- qreal dy = dt * m_pace * (2 * QRandomGenerator::getReal() - 1);
+ qreal dx = dt * m_pace * (2 * QRandomGenerator::global()->generateDouble() - 1);
+ qreal dy = dt * m_pace * (2 * QRandomGenerator::global()->generateDouble() - 1);
qreal newX, newY;
switch (m_affectedParameter){
case Position: