diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 32b5343198..78d2abc0ed 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -112,7 +112,6 @@ struct PacketWriter : SaveFilter { * we need to handle the save finish as well as the * next connection might just be requesting a map. */ WaitTillSaved(); - ProcessAsyncSaveFinish(); } /** @@ -548,6 +547,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendMap() } if (this->status == STATUS_AUTHORIZED) { + WaitTillSaved(); this->savegame = new PacketWriter(this); /* Now send the _frame_counter and how many packets are coming */ diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index ead719c94f..abe61ac247 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -3142,7 +3142,7 @@ SaveOrLoadResult SaveOrLoad(const std::string &filename, SaveLoadOperation fop, if (fop == SLO_SAVE) { // SAVE game Debug(desync, 1, "save: {:08x}; {:02x}; {}", TimerGameCalendar::date, TimerGameCalendar::date_fract, filename); - if (_network_server || !_settings_client.gui.threaded_saves) threaded = false; + if (!_settings_client.gui.threaded_saves) threaded = false; return DoSave(new FileWriter(fh), threaded); }