From: <au...@us...> - 2012-01-15 22:07:11
|
Revision: 10680 http://supertuxkart.svn.sourceforge.net/supertuxkart/?rev=10680&view=rev Author: auria Date: 2012-01-15 22:07:05 +0000 (Sun, 15 Jan 2012) Log Message: ----------- better error handling Modified Paths: -------------- main/trunk/src/addons/addons_manager.cpp main/trunk/src/tracks/track_manager.cpp Modified: main/trunk/src/addons/addons_manager.cpp =================================================================== --- main/trunk/src/addons/addons_manager.cpp 2012-01-15 22:01:23 UTC (rev 10679) +++ main/trunk/src/addons/addons_manager.cpp 2012-01-15 22:07:05 UTC (rev 10680) @@ -418,7 +418,16 @@ Track *track = track_manager->getTrack(addon.getId()); if(track) track_manager->removeTrack(addon.getId()); - track_manager->loadTrack(addon.getDataDir()); + + try + { + track_manager->loadTrack(addon.getDataDir()); + } + catch (std::exception& e) + { + fprintf(stderr, "[AddonsManager] ERROR: Cannot load track <%s> : %s\n", + addon.getDataDir().c_str(), e.what()); + } } saveInstalled(); return true; Modified: main/trunk/src/tracks/track_manager.cpp =================================================================== --- main/trunk/src/tracks/track_manager.cpp 2012-01-15 22:01:23 UTC (rev 10679) +++ main/trunk/src/tracks/track_manager.cpp 2012-01-15 22:07:05 UTC (rev 10680) @@ -156,7 +156,19 @@ if(!f) return false; fclose(f); - Track *track = new Track(config_file); + Track *track; + + try + { + track = new Track(config_file); + } + catch (std::exception& e) + { + fprintf(stderr, "[TrackManager] ERROR: Cannot load track <%s> : %s\n", + dirname.c_str(), e.what()); + return false; + } + if(track->getVersion()<stk_config->m_min_track_version || track->getVersion()>stk_config->m_max_track_version) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |