diff --git a/core/src/com/unciv/ui/worldscreen/mainmenu/OptionsPopup.kt b/core/src/com/unciv/ui/worldscreen/mainmenu/OptionsPopup.kt index f7941f1343..0fae196be5 100644 --- a/core/src/com/unciv/ui/worldscreen/mainmenu/OptionsPopup.kt +++ b/core/src/com/unciv/ui/worldscreen/mainmenu/OptionsPopup.kt @@ -298,6 +298,9 @@ class OptionsPopup(val previousScreen: BaseScreen) : Popup(previousScreen) { if (noProblem) lines += FormattedLine("No problems found.".tr()) postCrashHandlingRunnable { + // When the options popup is already closed before this postRunnable is run, + // Don't add the labels, as otherwise the game will crash + if (stage == null) return@postCrashHandlingRunnable // Don't just render text, since that will make all the conditionals in the mod replacement messages move to the end, which makes it unreadable // Don't use .toLabel() either, since that activates translations as well, which is what we're trying to avoid, // Instead, some manual work needs to be put in.