diff options
Diffstat (limited to 'src/particles/qquickparticlesystem.cpp')
-rw-r--r-- | src/particles/qquickparticlesystem.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/particles/qquickparticlesystem.cpp b/src/particles/qquickparticlesystem.cpp index a43b3009df..e0b050d3ff 100644 --- a/src/particles/qquickparticlesystem.cpp +++ b/src/particles/qquickparticlesystem.cpp @@ -1094,10 +1094,13 @@ QQuickParticleData* QQuickParticleSystem::newDatum(int groupId, bool respectLimi void QQuickParticleSystem::emitParticle(QQuickParticleData* pd) {// called from prepareNextFrame()->emitWindow - enforce? //Account for relative emitter position - QPointF offset = this->mapFromItem(pd->e, QPointF(0, 0)); - if (!offset.isNull()) { - pd->x += offset.x(); - pd->y += offset.y(); + bool okay = false; + QTransform t = pd->e->itemTransform(this, &okay); + if (okay) { + qreal tx,ty; + t.map(pd->x, pd->y, &tx, &ty); + pd->x = tx; + pd->y = ty; } finishNewDatum(pd); |