Core/Maps: Unload transports in MapManager::UnloadAll instead of singleton destructor.
Core/Transports: Properly delink units from transports on transport desutruction. - Thanks to Shauren for help. Core/ObjectAccessor: Unload corpse 'storage' in added UnloadAll method called in WorldRunnable postservice hook. Core/Master: Change some postservice queries to syncrhonous (direct) execution to ensure execution on shutdown Core/Master: Remove redundant calls to ACE::init and ACE::fini These changes were made to fix crash/freeze issues on shutdown.
This commit is contained in:
@@ -180,8 +180,11 @@ Transport::Transport(uint32 period, uint32 script) : GameObject(), m_period(peri
|
||||
|
||||
Transport::~Transport()
|
||||
{
|
||||
for (CreatureSet::iterator itr = m_NPCPassengerSet.begin(); itr != m_NPCPassengerSet.end();)
|
||||
(*(itr++))->ForcedDespawn();
|
||||
for (CreatureSet::iterator itr = m_NPCPassengerSet.begin(); itr != m_NPCPassengerSet.end(); ++itr)
|
||||
{
|
||||
(*itr)->SetTransport(NULL);
|
||||
GetMap()->AddObjectToRemoveList(*itr);
|
||||
}
|
||||
|
||||
m_NPCPassengerSet.clear();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user