From 7bbe218bf007427d6cba583b685d41725fad5d4e Mon Sep 17 00:00:00 2001 From: SomeTroglodyte <63000004+SomeTroglodyte@users.noreply.github.com> Date: Sat, 11 May 2024 20:35:57 +0200 Subject: [PATCH] Fix potential crash in console autocomplete (#11568) --- .../com/unciv/ui/screens/devconsole/DevConsoleCommand.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/com/unciv/ui/screens/devconsole/DevConsoleCommand.kt b/core/src/com/unciv/ui/screens/devconsole/DevConsoleCommand.kt index 0807873c61..dd6d7b3977 100644 --- a/core/src/com/unciv/ui/screens/devconsole/DevConsoleCommand.kt +++ b/core/src/com/unciv/ui/screens/devconsole/DevConsoleCommand.kt @@ -73,9 +73,11 @@ open class ConsoleAction(val format: String, val action: (console: DevConsolePop it.removeSurrounding("<",">").removeSurrounding("[","]").removeSurrounding("\"") } if (formatParams.size < params.size) return "" - val formatParam = formatParams[params.lastIndex] + // It is possible we're here *with* another format parameter but an *empty* params (e.g. `tile addriver ` and hit tab) -> see else branch + val (formatParam, lastParam) = if (params.lastIndex in formatParams.indices) + formatParams[params.lastIndex] to params.last() + else formatParams.first() to "" - val lastParam = params.last() val options = when (formatParam) { "civName" -> console.gameInfo.civilizations.map { it.civName } "unitName" -> console.gameInfo.ruleset.units.keys