From: Alan Alpert Date: Tue, 5 Jul 2011 05:16:55 +0000 (+1000) Subject: Fix possible index out of bounds exception X-Git-Url: http://git.silmor.de/gitweb/?a=commitdiff_plain;h=8f2c875d37ebb880720f66be6709e4e5852d9aad;p=konrad%2Fqtdeclarative.git Fix possible index out of bounds exception The sprite engine count needs to grow to the same size as the system index count, as the indexes are synchronized. Change-Id: I299816bfe6ea437202a60078a512b8f1114cfea3 Reviewed-on: http://codereview.qt.nokia.com/1138 Reviewed-by: Qt Sanity Bot Reviewed-by: Martin Jones --- diff --git a/src/declarative/particles/qsgparticlesystem.cpp b/src/declarative/particles/qsgparticlesystem.cpp index d648d46..97c73dc 100644 --- a/src/declarative/particles/qsgparticlesystem.cpp +++ b/src/declarative/particles/qsgparticlesystem.cpp @@ -739,8 +739,12 @@ int QSGParticleSystem::nextSystemIndex() m_reusableIndexes.remove(ret); return ret; } - if (m_nextIndex >= m_bySysIdx.size()) + if (m_nextIndex >= m_bySysIdx.size()){ m_bySysIdx.resize(m_bySysIdx.size() < 10 ? 10 : m_bySysIdx.size()*1.1);//###+1,10%,+10? Choose something non-arbitrarily + if (m_spriteEngine) + m_spriteEngine->setCount(m_bySysIdx.size()); + + } return m_nextIndex++; }