From 0ea8b87970c8c61bea27413906393ca18ca0a075 Mon Sep 17 00:00:00 2001 From: mschiller890 Date: Thu, 12 Mar 2026 21:31:01 +0100 Subject: [PATCH] Prevent duplicate world IDs by loading existing level list before generating a unique name --- src/client/gui/screens/SimpleChooseLevelScreen.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/client/gui/screens/SimpleChooseLevelScreen.cpp b/src/client/gui/screens/SimpleChooseLevelScreen.cpp index 956863e..bf4033d 100755 --- a/src/client/gui/screens/SimpleChooseLevelScreen.cpp +++ b/src/client/gui/screens/SimpleChooseLevelScreen.cpp @@ -32,6 +32,13 @@ SimpleChooseLevelScreen::~SimpleChooseLevelScreen() void SimpleChooseLevelScreen::init() { + // make sure the base class loads the existing level list; the + // derived screen uses ChooseLevelScreen::getUniqueLevelName(), which + // depends on `levels` being populated. omitting this used to result + // in duplicate IDs ("creating the second world would load the + // first") when the name already existed. + ChooseLevelScreen::init(); + tLevelName.text = "New world"; // header + close button