aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDániel Varga <vargad88@gmail.com>2014-01-16 22:16:43 +0100
committerBlockMen <nmuelll@web.de>2014-01-18 10:41:43 +0100
commit66b24cc9ff7c852e5455cc6c2c024d51c37c0c2a (patch)
treebffec09aefe0d93330d209d0159daaeaedada493
parentb11b48ec07214686bb351e9ec4857a107c26665b (diff)
downloadminetest-66b24cc9ff7c852e5455cc6c2c024d51c37c0c2a.tar.gz
minetest-66b24cc9ff7c852e5455cc6c2c024d51c37c0c2a.tar.bz2
minetest-66b24cc9ff7c852e5455cc6c2c024d51c37c0c2a.zip
Fixed mainmenu lua errors because of changes in get_textlist_index
Fixed lua error when none of the worlds or servers selected are and connect, delete or configure buttons used.
-rw-r--r--builtin/mainmenu.lua35
-rw-r--r--builtin/modmgr.lua2
2 files changed, 20 insertions, 17 deletions
diff --git a/builtin/mainmenu.lua b/builtin/mainmenu.lua
index 8ef306354..7fa5ff6cf 100644
--- a/builtin/mainmenu.lua
+++ b/builtin/mainmenu.lua
@@ -296,7 +296,7 @@ function menu.handle_key_up_down(fields,textlist,settingname)
if fields["key_up"] then
local oldidx = engine.get_textlist_index(textlist)
- if oldidx > 1 then
+ if oldidx ~= nil and oldidx > 1 then
local newidx = oldidx -1
engine.setting_set(settingname,
filterlist.get_raw_index(worldlist,newidx))
@@ -306,7 +306,7 @@ function menu.handle_key_up_down(fields,textlist,settingname)
if fields["key_down"] then
local oldidx = engine.get_textlist_index(textlist)
- if oldidx < filterlist.size(worldlist) then
+ if oldidx ~= nil and oldidx < filterlist.size(worldlist) then
local newidx = oldidx + 1
engine.setting_set(settingname,
filterlist.get_raw_index(worldlist,newidx))
@@ -392,7 +392,7 @@ function tabbuilder.handle_create_world_buttons(fields)
local worldname = fields["te_world_name"]
local gameindex = engine.get_textlist_index("games")
- if gameindex > 0 and
+ if gameindex ~= nil and
worldname ~= "" then
local message = nil
@@ -506,11 +506,13 @@ function tabbuilder.handle_multiplayer_buttons(fields)
local fav_idx = engine.get_textlist_index("favourites")
- if fields["key_up"] ~= nil and fav_idx > 1 then
- fav_idx = fav_idx -1
- else if fields["key_down"] and fav_idx < #menu.favorites then
- fav_idx = fav_idx +1
- end end
+ if fav_idx ~= nil then
+ if fields["key_up"] ~= nil and fav_idx > 1 then
+ fav_idx = fav_idx -1
+ else if fields["key_down"] and fav_idx < #menu.favorites then
+ fav_idx = fav_idx +1
+ end end
+ end
local address = menu.favorites[fav_idx].address
local port = menu.favorites[fav_idx].port
@@ -539,6 +541,7 @@ function tabbuilder.handle_multiplayer_buttons(fields)
if fields["btn_delete_favorite"] ~= nil then
local current_favourite = engine.get_textlist_index("favourites")
+ if current_favourite == nil then return end
engine.delete_favorite(current_favourite)
menu.favorites = engine.get_favorites()
menu.fav_selected = nil
@@ -559,7 +562,7 @@ function tabbuilder.handle_multiplayer_buttons(fields)
local fav_idx = engine.get_textlist_index("favourites")
- if fav_idx > 0 and fav_idx <= #menu.favorites and
+ if fav_idx ~= nil and fav_idx <= #menu.favorites and
menu.favorites[fav_idx].address == fields["te_address"] and
menu.favorites[fav_idx].port == fields["te_port"] then
@@ -615,7 +618,7 @@ function tabbuilder.handle_server_buttons(fields)
world_doubleclick or
fields["key_enter"] then
local selected = engine.get_textlist_index("srv_worlds")
- if selected > 0 then
+ if selected ~= nil then
gamedata.playername = fields["te_playername"]
gamedata.password = fields["te_passwd"]
gamedata.port = fields["te_serverport"]
@@ -637,7 +640,7 @@ function tabbuilder.handle_server_buttons(fields)
if fields["world_delete"] ~= nil then
local selected = engine.get_textlist_index("srv_worlds")
- if selected > 0 and
+ if selected ~= nil and
selected <= filterlist.size(worldlist) then
local world = filterlist.get_list(worldlist)[selected]
if world ~= nil and
@@ -655,7 +658,7 @@ function tabbuilder.handle_server_buttons(fields)
if fields["world_configure"] ~= nil then
selected = engine.get_textlist_index("srv_worlds")
- if selected > 0 then
+ if selected ~= nil then
modmgr.world_config_selected_world = filterlist.get_raw_index(worldlist,selected)
if modmgr.init_worldconfig() then
tabbuilder.current_tab = "dialog_configure_world"
@@ -763,7 +766,7 @@ function tabbuilder.handle_singleplayer_buttons(fields)
world_doubleclick or
fields["key_enter"] then
local selected = engine.get_textlist_index("sp_worlds")
- if selected > 0 then
+ if selected ~= nil then
gamedata.selected_world = filterlist.get_raw_index(worldlist,selected)
gamedata.singleplayer = true
@@ -781,7 +784,7 @@ function tabbuilder.handle_singleplayer_buttons(fields)
if fields["world_delete"] ~= nil then
local selected = engine.get_textlist_index("sp_worlds")
- if selected > 0 and
+ if selected ~= nil and
selected <= filterlist.size(worldlist) then
local world = filterlist.get_list(worldlist)[selected]
if world ~= nil and
@@ -799,7 +802,7 @@ function tabbuilder.handle_singleplayer_buttons(fields)
if fields["world_configure"] ~= nil then
selected = engine.get_textlist_index("sp_worlds")
- if selected > 0 then
+ if selected ~= nil then
modmgr.world_config_selected_world = filterlist.get_raw_index(worldlist,selected)
if modmgr.init_worldconfig() then
tabbuilder.current_tab = "dialog_configure_world"
@@ -820,7 +823,7 @@ function tabbuilder.handle_texture_pack_buttons(fields)
index)
local list = filter_texture_pack_list(engine.get_dirlist(engine.get_texturepath(), true))
local current_index = engine.get_textlist_index("TPs")
- if #list >= current_index then
+ if current_index ~= nil and #list >= current_index then
local new_path = engine.get_texturepath()..DIR_DELIM..list[current_index]
if list[current_index] == "None" then new_path = "" end
diff --git a/builtin/modmgr.lua b/builtin/modmgr.lua
index f530ccc4a..11434ab3c 100644
--- a/builtin/modmgr.lua
+++ b/builtin/modmgr.lua
@@ -1067,7 +1067,7 @@ function modmgr.get_global_mod(idx)
return nil
end
- if idx < 1 or idx > filterlist.size(modmgr.global_mods) then
+ if idx == nil or idx < 1 or idx > filterlist.size(modmgr.global_mods) then
return nil
end