From 9d804cfb9756e5969ecff9fcc4748aa01916bd26 Mon Sep 17 00:00:00 2001 From: erwincoumans Date: Tue, 12 Sep 2017 17:27:18 -0700 Subject: [PATCH] avoid crash if swRenderInstances are not available --- .../TinyRendererVisualShapeConverter.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/examples/SharedMemory/TinyRendererVisualShapeConverter.cpp b/examples/SharedMemory/TinyRendererVisualShapeConverter.cpp index 622788999..da49886e1 100644 --- a/examples/SharedMemory/TinyRendererVisualShapeConverter.cpp +++ b/examples/SharedMemory/TinyRendererVisualShapeConverter.cpp @@ -717,15 +717,18 @@ void TinyRendererVisualShapeConverter::changeRGBAColor(int bodyUniqueId, int lin if (start>=0) { TinyRendererObjectArray** visualArrayPtr = m_data->m_swRenderInstances.getAtIndex(start); - TinyRendererObjectArray* visualArray = *visualArrayPtr; - - btHashPtr colObjHash = m_data->m_swRenderInstances.getKeyAtIndex(start); - const btCollisionObject* colObj = (btCollisionObject*) colObjHash.getPointer(); - - float rgba[4] = {rgbaColor[0], rgbaColor[1], rgbaColor[2], rgbaColor[3]}; - for (int v=0;vm_renderObjects.size();v++) + if (visualArrayPtr && *visualArrayPtr) { - visualArray->m_renderObjects[v]->m_model->setColorRGBA(rgba); + TinyRendererObjectArray* visualArray = *visualArrayPtr; + + btHashPtr colObjHash = m_data->m_swRenderInstances.getKeyAtIndex(start); + const btCollisionObject* colObj = (btCollisionObject*) colObjHash.getPointer(); + + float rgba[4] = {rgbaColor[0], rgbaColor[1], rgbaColor[2], rgbaColor[3]}; + for (int v=0;vm_renderObjects.size();v++) + { + visualArray->m_renderObjects[v]->m_model->setColorRGBA(rgba); + } } } }