Fix possible exit crash
This commit is contained in:
parent
ae2cfb4162
commit
ed14ab5091
27
src/main.cpp
27
src/main.cpp
@ -2689,6 +2689,21 @@ static void cleanSuperTuxKart()
|
|||||||
irr_driver->updateConfigIfRelevant();
|
irr_driver->updateConfigIfRelevant();
|
||||||
AchievementsManager::destroy();
|
AchievementsManager::destroy();
|
||||||
Referee::cleanup();
|
Referee::cleanup();
|
||||||
|
|
||||||
|
if (SFXManager::get() &&
|
||||||
|
!SFXManager::get()->waitForReadyToDeleted(2.0f))
|
||||||
|
{
|
||||||
|
Log::info("Thread", "SFXManager not stopping, exiting anyway.");
|
||||||
|
}
|
||||||
|
SFXManager::destroy();
|
||||||
|
|
||||||
|
// Music manager can not be deleted before the SFX thread is stopped
|
||||||
|
// (since SFX commands can contain music information, which are
|
||||||
|
// deleted by the music manager).
|
||||||
|
delete music_manager;
|
||||||
|
|
||||||
|
// Race manager needs to be deleted after sfx manager as it checks for
|
||||||
|
// the kart size structure from race manager
|
||||||
RaceManager::destroy();
|
RaceManager::destroy();
|
||||||
if(grand_prix_manager) delete grand_prix_manager;
|
if(grand_prix_manager) delete grand_prix_manager;
|
||||||
if(highscore_manager) delete highscore_manager;
|
if(highscore_manager) delete highscore_manager;
|
||||||
@ -2746,18 +2761,6 @@ static void cleanSuperTuxKart()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SFXManager::get() &&
|
|
||||||
!SFXManager::get()->waitForReadyToDeleted(2.0f))
|
|
||||||
{
|
|
||||||
Log::info("Thread", "SFXManager not stopping, exiting anyway.");
|
|
||||||
}
|
|
||||||
SFXManager::destroy();
|
|
||||||
|
|
||||||
// Music manager can not be deleted before the SFX thread is stopped
|
|
||||||
// (since SFX commands can contain music information, which are
|
|
||||||
// deleted by the music manager).
|
|
||||||
delete music_manager;
|
|
||||||
|
|
||||||
// The add-ons manager might still be called from a currenty running request
|
// The add-ons manager might still be called from a currenty running request
|
||||||
// in the request manager, so it can not be deleted earlier.
|
// in the request manager, so it can not be deleted earlier.
|
||||||
#ifndef SERVER_ONLY
|
#ifndef SERVER_ONLY
|
||||||
|
Loading…
Reference in New Issue
Block a user