Hopefully proper fix for #1938 (crash on osx when exiting race).
This commit is contained in:
parent
93c5d7428f
commit
93fa075471
@ -72,16 +72,9 @@ namespace video
|
||||
//! Destructor
|
||||
~SMaterialLayer()
|
||||
{
|
||||
#ifdef __APPLE__
|
||||
// Avoid a crash on osx, where one of the ReadOnlyMaterial
|
||||
// Texture matrices is -1 - for atm unknown reasons - see #1938
|
||||
if(TextureMatrix != (core::matrix4*)0xffffffff)
|
||||
#endif
|
||||
{
|
||||
MatrixAllocator.destruct(TextureMatrix);
|
||||
MatrixAllocator.deallocate(TextureMatrix);
|
||||
}
|
||||
}
|
||||
|
||||
//! Assignment operator
|
||||
/** \param other Material layer to copy from.
|
||||
|
@ -658,8 +658,11 @@ void KartModel::reset()
|
||||
|
||||
// Stop any animations currently being played.
|
||||
setAnimation(KartModel::AF_DEFAULT);
|
||||
// Don't force any LOD
|
||||
((LODNode*)m_kart->getNode())->forceLevelOfDetail(-1);
|
||||
|
||||
// Don't force any LOD. Non-animated karts are not LOD nodes.
|
||||
LODNode *lod = dynamic_cast<LODNode*>(m_kart->getNode());
|
||||
if (lod)
|
||||
lod->forceLevelOfDetail(-1);
|
||||
} // reset
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -670,7 +673,9 @@ void KartModel::reset()
|
||||
void KartModel::finishedRace()
|
||||
{
|
||||
// Force the animated model, independent of actual camera distance.
|
||||
((LODNode*)m_kart->getNode())->forceLevelOfDetail(0);
|
||||
LODNode *lod = dynamic_cast<LODNode*>(m_kart->getNode());
|
||||
if (lod)
|
||||
lod->forceLevelOfDetail(0);
|
||||
} // finishedRace
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user