aboutsummaryrefslogtreecommitdiffstats
path: root/src/particles/qquickparticlesystem.cpp
diff options
context:
space:
mode:
authorAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-01-15 15:08:51 +0300
committerAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-01-18 07:57:45 +0000
commit1cbf064cdf6d24ddbb6bf30b08a88ec1bf03d3df (patch)
tree9008055bd3f0071ef947b24d76d5cd403d6cbccd /src/particles/qquickparticlesystem.cpp
parentf4d1a471bb87dd4d4bb79b10e8dc434d707711bd (diff)
Particles: fix expensive iteration over QHash::keys()
Change-Id: I02755796e3a5c5a3bb39e125a45d968a750e58e1 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Diffstat (limited to 'src/particles/qquickparticlesystem.cpp')
-rw-r--r--src/particles/qquickparticlesystem.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/particles/qquickparticlesystem.cpp b/src/particles/qquickparticlesystem.cpp
index 401d40e275..a91d0df614 100644
--- a/src/particles/qquickparticlesystem.cpp
+++ b/src/particles/qquickparticlesystem.cpp
@@ -995,9 +995,12 @@ void QQuickParticleSystem::createEngine()
//### Solve the losses if size/states go down
foreach (QQuickParticleGroup* group, m_groups) {
bool exists = false;
- foreach (const QString &name, groupIds.keys())
- if (group->name() == name)
+ for (auto it = groupIds.keyBegin(), end = groupIds.keyEnd(); it != end; ++it) {
+ if (group->name() == *it) {
exists = true;
+ break;
+ }
+ }
if (!exists) {
int id = m_nextGroupId++;
QQuickParticleGroupData* gd = new QQuickParticleGroupData(id, this);