Fix the segfault when going to the network or the kart selection screen after going to the addons menu
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@5924 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
42565ba603
commit
5602c1663e
@ -33,6 +33,7 @@
|
||||
#include "io/file_manager.hpp"
|
||||
|
||||
#include "karts/kart_properties_manager.hpp"
|
||||
#include "states_screens/kart_selection.hpp"
|
||||
|
||||
using namespace irr; /* irrXML which is used to read (not write) xml file,
|
||||
is located in the namespace irr::io.*/
|
||||
@ -378,8 +379,7 @@ void Addons::SaveInstalled()
|
||||
}
|
||||
xml_installed << "</addons>" << std::endl;
|
||||
xml_installed.close();
|
||||
kart_properties_manager->unloadAllKarts();
|
||||
kart_properties_manager->loadAllKarts();
|
||||
kart_properties_manager->reLoadAllKarts();
|
||||
}
|
||||
// ----------------------------------------------------------------------------
|
||||
void Addons::UnInstall()
|
||||
|
@ -83,6 +83,22 @@ void KartPropertiesManager::unloadAllKarts()
|
||||
m_kart_search_path.clear();
|
||||
} // removeTextures
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void KartPropertiesManager::reLoadAllKarts()
|
||||
{
|
||||
for(KartPropertiesVector::iterator i = m_karts_properties.begin();
|
||||
i != m_karts_properties.end(); ++i)
|
||||
{
|
||||
delete *i;
|
||||
}
|
||||
m_karts_properties.clear();
|
||||
m_selected_karts.clear();
|
||||
m_kart_available.clear();
|
||||
m_groups.clear();
|
||||
m_all_groups.clear();
|
||||
//m_kart_search_path.clear();
|
||||
loadAllKarts();
|
||||
}
|
||||
//-----------------------------------------------------------------------------
|
||||
/** Loads all kart properties and models.
|
||||
*/
|
||||
|
@ -66,6 +66,7 @@ public:
|
||||
|
||||
void loadAllKarts ();
|
||||
void unloadAllKarts ();
|
||||
void reLoadAllKarts ();
|
||||
|
||||
const unsigned int getNumberOfKarts () const {return (unsigned int)m_karts_properties.size();}
|
||||
const std::vector<std::string>&
|
||||
|
Loading…
x
Reference in New Issue
Block a user