diff --git a/core/src/com/unciv/logic/multiplayer/OnlineMultiplayer.kt b/core/src/com/unciv/logic/multiplayer/OnlineMultiplayer.kt index b436f1cd19..7ddaf5d28a 100644 --- a/core/src/com/unciv/logic/multiplayer/OnlineMultiplayer.kt +++ b/core/src/com/unciv/logic/multiplayer/OnlineMultiplayer.kt @@ -284,18 +284,18 @@ class OnlineMultiplayer { /** * Fires [MultiplayerGameNameChanged] */ - fun changeGameName(game: OnlineMultiplayerGame, newName: String) { + fun changeGameName(game: OnlineMultiplayerGame, newName: String, onException:(Exception?)->Unit) { debug("Changing name of game %s to", game.name, newName) val oldPreview = game.preview ?: throw game.error!! val oldLastUpdate = game.lastUpdate val oldName = game.name - savedGames.remove(game.fileHandle) - files.deleteSave(game.fileHandle) - val newFileHandle = files.saveGame(oldPreview, newName) - + val newFileHandle = files.saveGame(oldPreview, newName, onException) val newGame = OnlineMultiplayerGame(newFileHandle, oldPreview, oldLastUpdate) savedGames[newFileHandle] = newGame + + savedGames.remove(game.fileHandle) + files.deleteSave(game.fileHandle) EventBus.send(MultiplayerGameNameChanged(oldName, newName)) } diff --git a/core/src/com/unciv/ui/multiplayer/EditMultiplayerGameInfoScreen.kt b/core/src/com/unciv/ui/multiplayer/EditMultiplayerGameInfoScreen.kt index 7feb17adb5..a1ca2d4fab 100644 --- a/core/src/com/unciv/ui/multiplayer/EditMultiplayerGameInfoScreen.kt +++ b/core/src/com/unciv/ui/multiplayer/EditMultiplayerGameInfoScreen.kt @@ -72,7 +72,12 @@ class EditMultiplayerGameInfoScreen(val multiplayerGame: OnlineMultiplayerGame) rightSideButton.onClick { rightSideButton.setText("Saving...".tr()) val newName = textField.text.trim() - game.onlineMultiplayer.changeGameName(multiplayerGame, newName) + game.onlineMultiplayer.changeGameName(multiplayerGame, newName){ + val popup = Popup(this) + popup.addGoodSizedLabel("Could not save game!") + popup.addCloseButton() + popup.open() + } val newScreen = game.popScreen() if (newScreen is MultiplayerScreen) { newScreen.selectGame(newName) diff --git a/core/src/com/unciv/ui/popup/Popup.kt b/core/src/com/unciv/ui/popup/Popup.kt index 60b08a5a3c..4025e09566 100644 --- a/core/src/com/unciv/ui/popup/Popup.kt +++ b/core/src/com/unciv/ui/popup/Popup.kt @@ -159,7 +159,7 @@ open class Popup( action: (()->Unit)? = null ): Cell { val cell = addButton(text, additionalKey, style) { close(); if(action!=null) action() } - cell.getActor().keyShortcuts.add(KeyCharAndCode.BACK) + cell.actor.keyShortcuts.add(KeyCharAndCode.BACK) return cell }