diff --git a/Core/GameEngineDevice/Source/W3DDevice/GameClient/BaseHeightMap.cpp b/Core/GameEngineDevice/Source/W3DDevice/GameClient/BaseHeightMap.cpp index 7723ec1a09..cf26fe1a18 100644 --- a/Core/GameEngineDevice/Source/W3DDevice/GameClient/BaseHeightMap.cpp +++ b/Core/GameEngineDevice/Source/W3DDevice/GameClient/BaseHeightMap.cpp @@ -2420,12 +2420,16 @@ void BaseHeightMapRenderObjClass::updateCenter(CameraClass *camera , RefRenderOb } #endif if (m_needFullUpdate) { - m_bridgeBuffer->doFullUpdate(); - m_bridgeBuffer->updateCenter(camera, pLightsIterator); + if (m_bridgeBuffer) { + m_bridgeBuffer->doFullUpdate(); + m_bridgeBuffer->updateCenter(camera, pLightsIterator); + } m_updating = false; return; } - m_bridgeBuffer->updateCenter(camera, pLightsIterator); + if (m_bridgeBuffer) { + m_bridgeBuffer->updateCenter(camera, pLightsIterator); + } m_updating = false; } diff --git a/Core/GameEngineDevice/Source/W3DDevice/GameClient/W3DView.cpp b/Core/GameEngineDevice/Source/W3DDevice/GameClient/W3DView.cpp index a539d69b83..494cc31b3b 100644 --- a/Core/GameEngineDevice/Source/W3DDevice/GameClient/W3DView.cpp +++ b/Core/GameEngineDevice/Source/W3DDevice/GameClient/W3DView.cpp @@ -621,10 +621,13 @@ void W3DView::setCameraTransform( void ) buildCameraTransform( &cameraTransform ); m_3DCamera->Set_Transform( cameraTransform ); - if (TheTerrainRenderObject) + if (TheTerrainRenderObject && W3DDisplay::m_3DScene) { RefRenderObjListIterator *it = W3DDisplay::m_3DScene->createLightsIterator(); - TheTerrainRenderObject->updateCenter(m_3DCamera, it); + if (it && m_3DCamera) + { + TheTerrainRenderObject->updateCenter(m_3DCamera, it); + } if (it) { W3DDisplay::m_3DScene->destroyLightsIterator(it); @@ -1107,9 +1110,12 @@ void W3DView::update(void) // Int elapsedTimeMs = TheW3DFrameLengthInMsec; // Assume a constant time flow. It just works out better. jba. - if (TheTerrainRenderObject->doesNeedFullUpdate()) { + if (TheTerrainRenderObject->doesNeedFullUpdate() && W3DDisplay::m_3DScene) { RefRenderObjListIterator *it = W3DDisplay::m_3DScene->createLightsIterator(); - TheTerrainRenderObject->updateCenter(m_3DCamera, it); + if (it && m_3DCamera) + { + TheTerrainRenderObject->updateCenter(m_3DCamera, it); + } if (it) { W3DDisplay::m_3DScene->destroyLightsIterator(it);