diff options
author | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-01-15 15:08:51 +0300 |
---|---|---|
committer | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-01-18 07:57:45 +0000 |
commit | 1cbf064cdf6d24ddbb6bf30b08a88ec1bf03d3df (patch) | |
tree | 9008055bd3f0071ef947b24d76d5cd403d6cbccd /src/particles/qquickparticlesystem.cpp | |
parent | f4d1a471bb87dd4d4bb79b10e8dc434d707711bd (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.cpp | 7 |
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); |