From: HybridDog Date: Sat, 30 May 2015 14:18:09 +0000 (+0200) Subject: More reliable serverlist behaviour X-Git-Tag: 0.4.13~219 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=05f4e9ee08f93b17c3dbaf2b6a1022cc28a226ce;p=oweals%2Fminetest.git More reliable serverlist behaviour -> remember the previously loaded serverlist, and use if new one failed -> show a "loading" serverlist --- diff --git a/builtin/mainmenu/common.lua b/builtin/mainmenu/common.lua index d6e2588fa..6126c61a4 100644 --- a/builtin/mainmenu/common.lua +++ b/builtin/mainmenu/common.lua @@ -234,7 +234,13 @@ end -------------------------------------------------------------------------------- function asyncOnlineFavourites() - menudata.favorites = {} + if not menudata.public_known then + menudata.public_known = {{ + name = fgettext("Loading..."), + description = fgettext("Try reenabling public serverlist and check your internet connection.") + }} + end + menudata.favorites = menudata.public_known core.handle_async( function(param) return core.get_favorites("online") @@ -242,11 +248,15 @@ function asyncOnlineFavourites() nil, function(result) if core.setting_getbool("public_serverlist") then - menudata.favorites = order_favorite_list(result) + local favs = order_favorite_list(result) + if favs[1] then + menudata.public_known = favs + menudata.favorites = menudata.public_known + end core.event_handler("Refresh") end end - ) + ) end --------------------------------------------------------------------------------