From 61cc8d6c506ca2b9b59bb04a31568dcd3ae9bc7b Mon Sep 17 00:00:00 2001 From: Richard Harrison Date: Tue, 30 Oct 2018 20:13:32 +0100 Subject: [PATCH] Fix exception when number of primitive sets not what assumed. This was something that happened when random vegetation was off, but tree shadows was on. Adding random vegetation would then reliably cause an exception. --- simgear/scene/tgdb/TreeBin.cxx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/simgear/scene/tgdb/TreeBin.cxx b/simgear/scene/tgdb/TreeBin.cxx index ee8f4b39..194a15be 100644 --- a/simgear/scene/tgdb/TreeBin.cxx +++ b/simgear/scene/tgdb/TreeBin.cxx @@ -233,9 +233,11 @@ void addTreeToLeafGeode(Geode* geode, const SGVec3f& p, const SGVec3f& t) int imax = 2; if (use_tree_shadows) { imax = 3; } for (int i = 0; i < imax; ++i) { - DrawArrays* primSet = static_cast(geom->getPrimitiveSet(i)); - if(primSet != nullptr) - primSet->setCount(numVerts); + if (i < geom->getNumPrimitiveSets()) { + DrawArrays* primSet = static_cast(geom->getPrimitiveSet(i)); + if (primSet != nullptr) + primSet->setCount(numVerts); + } } } }