Fixed ref counting in irr_driver (file_manager was not released), added
ref counting to file system object in file manager (not strictly necessary, but cleaner). git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9968 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
a93d05d046
commit
3b63f1c299
@ -148,6 +148,8 @@ void IrrDriver::initDevice()
|
||||
// the problem for now.
|
||||
m_device->clearSystemMessages();
|
||||
m_device->run();
|
||||
// Clear the pointer stored in the file manager
|
||||
file_manager->dropFileSystem();
|
||||
m_device->drop();
|
||||
m_device = NULL;
|
||||
|
||||
@ -394,8 +396,6 @@ void IrrDriver::applyResolutionSettings()
|
||||
m_device->clearSystemMessages();
|
||||
m_device->run();
|
||||
|
||||
// Clear the pointer stored in the file manager
|
||||
file_manager->dropFileSystem();
|
||||
delete material_manager;
|
||||
material_manager = NULL;
|
||||
|
||||
|
@ -128,8 +128,8 @@ FileManager::FileManager(char *argv[])
|
||||
chdir( buffer );
|
||||
#endif
|
||||
|
||||
// CHECKME HIKER: is this grabbed???
|
||||
m_file_system = irr_driver->getDevice()->getFileSystem();
|
||||
m_file_system->grab();
|
||||
m_is_full_path = false;
|
||||
|
||||
irr::io::path exe_path;
|
||||
@ -176,6 +176,7 @@ FileManager::FileManager(char *argv[])
|
||||
*/
|
||||
void FileManager::dropFileSystem()
|
||||
{
|
||||
m_file_system->drop();
|
||||
} // dropFileSystem
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -185,6 +186,7 @@ void FileManager::dropFileSystem()
|
||||
void FileManager::reInit()
|
||||
{
|
||||
m_file_system = irr_driver->getDevice()->getFileSystem();
|
||||
m_file_system->grab();
|
||||
TrackManager::addTrackSearchDir(m_root_dir+"/data/tracks");
|
||||
KartPropertiesManager::addKartSearchDir(m_root_dir+"/data/karts");
|
||||
pushTextureSearchPath(m_root_dir+"/data/textures/");
|
||||
@ -254,7 +256,7 @@ FileManager::~FileManager()
|
||||
popMusicSearchPath();
|
||||
popModelSearchPath();
|
||||
popTextureSearchPath();
|
||||
// m_file_system is ref-counted, so no delete/drop necessary.
|
||||
m_file_system->drop();
|
||||
m_file_system = NULL;
|
||||
} // ~FileManager
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user