mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-25 22:42:04 +02:00
Added semi-workaround method for network thread shutdown:
Currently closing game while network thread is waiting for something is very bug-prone, since network thread may resume during shutdown and access partially destroyed client state. Now if exit has been requested, the very first step would be semi- graceful shutdown of network thread (via exception throwing). This may in theory skip some cleanup in non-RAII code, but since game is shutting down this does not matters much. This logic applies to: - shutting down while network thread is waiting for dialogs - shuttind down while network thread waiting for animations in combat
This commit is contained in:
@@ -179,11 +179,6 @@ void ClientCommandManager::handleRedrawCommand()
|
||||
GH.windows().totalRedraw();
|
||||
}
|
||||
|
||||
void ClientCommandManager::handleNotDialogCommand()
|
||||
{
|
||||
LOCPLINT->showingDialog->setn(false);
|
||||
}
|
||||
|
||||
void ClientCommandManager::handleTranslateGameCommand()
|
||||
{
|
||||
std::map<std::string, std::map<std::string, std::string>> textsByMod;
|
||||
@@ -584,9 +579,6 @@ void ClientCommandManager::processCommand(const std::string & message, bool call
|
||||
else if(commandName == "redraw")
|
||||
handleRedrawCommand();
|
||||
|
||||
else if(commandName == "not dialog")
|
||||
handleNotDialogCommand();
|
||||
|
||||
else if(message=="translate" || message=="translate game")
|
||||
handleTranslateGameCommand();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user