From: Ekdohibs Date: Fri, 22 Apr 2016 12:20:16 +0000 (+0200) Subject: Fix mainmenu code downloading the public serverlist twice. X-Git-Tag: 0.4.14~86 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=2177f3090e6bb8037779a5b518f193a03094797f;p=oweals%2Fminetest.git Fix mainmenu code downloading the public serverlist twice. Also, fix a nil error that can happen sometimes in menu_handle_key_up_down --- diff --git a/builtin/mainmenu/common.lua b/builtin/mainmenu/common.lua index 5bf39abd7..1fd89ff77 100644 --- a/builtin/mainmenu/common.lua +++ b/builtin/mainmenu/common.lua @@ -178,7 +178,7 @@ end -------------------------------------------------------------------------------- function menu_handle_key_up_down(fields, textlist, settingname) - local oldidx, newidx = core.get_textlist_index(textlist) + local oldidx, newidx = core.get_textlist_index(textlist), 1 if fields.key_up or fields.key_down then if fields.key_up and oldidx and oldidx > 1 then newidx = oldidx - 1 @@ -203,12 +203,20 @@ function asyncOnlineFavourites() end menudata.favorites = menudata.public_known menudata.favorites_is_public = true + + if not menudata.public_downloading then + menudata.public_downloading = true + else + return + end + core.handle_async( function(param) return core.get_favorites("online") end, nil, function(result) + menudata.public_downloading = nil local favs = order_favorite_list(result) if favs[1] then menudata.public_known = favs