local temp_idx = 0
+ if menu.worldlist == nil then
+ return -1
+ end
+
for i=1,#menu.worldlist,1 do
if menu.worldlist[i].gameid == current_game.id then
temp_idx = temp_idx +1
if gamedata.selected_world <= #menu.worldlist then
local world = menu.worldlist[gamedata.selected_world]
+ if world == nil then
+ return
+ end
+
for i=1,#gamemgr.games,1 do
if gamemgr.games[i].id == world.gameid then
menu.last_game = i
--------------------------------------------------------------------------------
function tabbuilder.handle_create_world_buttons(fields)
- if fields["world_create_confirm"] then
+ if fields["world_create_confirm"] or
+ fields["key_enter"] then
local worldname = fields["te_world_name"]
local gameindex = engine.get_textlist_index("games")
}
// Set world path to selected one
- if(menudata.selected_world != -1){
+ if ((menudata.selected_world >= 0) &&
+ (menudata.selected_world < worldspecs.size())) {
worldspec = worldspecs[menudata.selected_world];
infostream<<"Selected world: "<<worldspec.name
<<" ["<<worldspec.path<<"]"<<std::endl;