mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-25 06:35:30 +00:00
Fix crashes caused when terrain materials don't get created (e.g. due to cg shader bug on Windows/D3D9). Should resolve Bug #1284.
This commit is contained in:
parent
2f56b11530
commit
11ce093a9e
@ -55,6 +55,9 @@ namespace Terrain
|
||||
mVertexData->vertexBufferBinding->setBinding(2, uvBuffer);
|
||||
mVertexData->vertexBufferBinding->setBinding(3, colourBuffer);
|
||||
|
||||
// Assign a default material in case terrain material fails to be created
|
||||
mMaterial = Ogre::MaterialManager::getSingleton().getByName("BaseWhite");
|
||||
|
||||
mIndexData = OGRE_NEW Ogre::IndexData();
|
||||
mIndexData->indexStart = 0;
|
||||
}
|
||||
@ -67,11 +70,13 @@ namespace Terrain
|
||||
|
||||
Chunk::~Chunk()
|
||||
{
|
||||
if (!mMaterial.isNull())
|
||||
{
|
||||
#if TERRAIN_USE_SHADER
|
||||
sh::Factory::getInstance().destroyMaterialInstance(mMaterial->getName());
|
||||
sh::Factory::getInstance().destroyMaterialInstance(mMaterial->getName());
|
||||
#endif
|
||||
Ogre::MaterialManager::getSingleton().remove(mMaterial->getName());
|
||||
|
||||
Ogre::MaterialManager::getSingleton().remove(mMaterial->getName());
|
||||
}
|
||||
OGRE_DELETE mVertexData;
|
||||
OGRE_DELETE mIndexData;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user