From 9054480bf732f7420a5c08af5642f4c4167bb53b Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Sat, 6 Feb 2021 20:34:02 +0200 Subject: [PATCH] Solved concurrency problems in redownloadAllGames() --- core/src/com/unciv/ui/MultiplayerScreen.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/com/unciv/ui/MultiplayerScreen.kt b/core/src/com/unciv/ui/MultiplayerScreen.kt index 6362786ace..9a4e32d60f 100644 --- a/core/src/com/unciv/ui/MultiplayerScreen.kt +++ b/core/src/com/unciv/ui/MultiplayerScreen.kt @@ -15,12 +15,14 @@ import com.unciv.ui.pickerscreens.PickerScreen import com.unciv.ui.utils.* import com.unciv.ui.worldscreen.mainmenu.OnlineMultiplayer import java.util.* +import java.util.concurrent.ConcurrentHashMap import kotlin.concurrent.thread class MultiplayerScreen(previousScreen: CameraStageBaseScreen) : PickerScreen() { private lateinit var selectedGameFile: FileHandle - private var multiplayerGames = mutableMapOf() + // Concurrent because we can get concurrent modification errors if we change things around while running redownloadAllGames() in another thread + private var multiplayerGames = ConcurrentHashMap() private val rightSideTable = Table() private val leftSideTable = Table()