From 8f2c875d37ebb880720f66be6709e4e5852d9aad Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Tue, 5 Jul 2011 15:16:55 +1000 Subject: [PATCH] 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 --- src/declarative/particles/qsgparticlesystem.cpp | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) 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++; } -- 1.7.2.5