Fix crash caused when downloading requests for icons were still
executing at game end.
This commit is contained in:
parent
fcb80cdb2c
commit
b2a936c8cd
@ -1436,7 +1436,6 @@ static void cleanSuperTuxKart()
|
||||
Referee::cleanup();
|
||||
if(ReplayPlay::get()) ReplayPlay::destroy();
|
||||
if(race_manager) delete race_manager;
|
||||
if(addons_manager) delete addons_manager;
|
||||
if(grand_prix_manager) delete grand_prix_manager;
|
||||
if(highscore_manager) delete highscore_manager;
|
||||
if(attachment_manager) delete attachment_manager;
|
||||
@ -1476,6 +1475,10 @@ static void cleanSuperTuxKart()
|
||||
}
|
||||
Online::RequestManager::deallocate();
|
||||
|
||||
// The addons manager might still be called from a currenty running request
|
||||
// in the request manager, so it can not be deleted earlier.
|
||||
if(addons_manager) delete addons_manager;
|
||||
|
||||
// FIXME: do we need to wait for threads there, can they be
|
||||
// moved further up?
|
||||
Online::ServersManager::deallocate();
|
||||
|
@ -221,7 +221,9 @@ namespace Online
|
||||
|
||||
me->m_request_queue.unlock();
|
||||
me->m_current_request->execute();
|
||||
me->addResult(me->m_current_request);
|
||||
// This test is necessary in case that execute() was aborted
|
||||
// (otherwise the assert in addResult will be triggered).
|
||||
if (!me->getAbort()) me->addResult(me->m_current_request);
|
||||
me->m_request_queue.lock();
|
||||
} // while handle all requests
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user