diff --git a/src/tracks/model_definition_loader.cpp b/src/tracks/model_definition_loader.cpp index 98159e961..e8444e98a 100644 --- a/src/tracks/model_definition_loader.cpp +++ b/src/tracks/model_definition_loader.cpp @@ -88,6 +88,7 @@ LODNode* ModelDefinitionLoader::instanciateAsLOD(const XMLNode* node, scene::ISc a_mesh->grab(); //cache.push_back(a_mesh); irr_driver->grabAllTextures(a_mesh); + m_track->addCachedMesh(a_mesh); scene::IMeshSceneNode* scene_node = irr_driver->addMesh(a_mesh); m_track->handleAnimatedTextures( scene_node, *group[m].m_xml ); diff --git a/src/tracks/track.hpp b/src/tracks/track.hpp index 0e6381fe1..d5eadd80b 100644 --- a/src/tracks/track.hpp +++ b/src/tracks/track.hpp @@ -654,7 +654,11 @@ public: // ------------------------------------------------------------------------ void setActualNumberOfLaps(unsigned int laps) { m_actual_number_of_laps = laps; } + // ------------------------------------------------------------------------ bool operator<(const Track &other) const; + // ------------------------------------------------------------------------ + /** Adds mesh to cleanup list */ + void addCachedMesh(scene::IMesh* mesh) { m_all_cached_meshes.push_back(mesh); } }; // class Track #endif