forked from Mirrorlandia_minetest/minetest
fix crash on play/start with empty world list
make enter button work in create world dialog
This commit is contained in:
parent
fca4610f11
commit
f419f66546
@ -332,6 +332,10 @@ function menu.filtered_index_to_plain(filtered_index)
|
||||
|
||||
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
|
||||
@ -418,6 +422,10 @@ function menu.update_last_game(world_idx)
|
||||
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
|
||||
@ -574,7 +582,8 @@ end
|
||||
--------------------------------------------------------------------------------
|
||||
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")
|
||||
|
@ -1667,7 +1667,8 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
// 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;
|
||||
|
Loading…
Reference in New Issue
Block a user