diff --git a/res/layouts/pages/content.xml.lua b/res/layouts/pages/content.xml.lua index d03c6e80..0eae8c00 100644 --- a/res/layouts/pages/content.xml.lua +++ b/res/layouts/pages/content.xml.lua @@ -99,8 +99,14 @@ function refresh() end end + local packids = {unpack(packs_installed)} + for i,k in ipairs(packs_available) do + table.insert(packids, k) + end + local packinfos = pack.get_info(packids) + for i,id in ipairs(packs_installed) do - local packinfo = pack.get_info(id) + local packinfo = packinfos[id] packinfo.index = i callback = not table.has(base_packs, id) and string.format('move_pack("%s")', id) or nil packinfo.error = check_dependencies(packinfo) @@ -108,7 +114,7 @@ function refresh() end for i,id in ipairs(packs_available) do - local packinfo = pack.get_info(id) + local packinfo = packinfos[id] packinfo.index = i callback = string.format('move_pack("%s")', id) packinfo.error = check_dependencies(packinfo) diff --git a/res/layouts/pages/content_menu.xml.lua b/res/layouts/pages/content_menu.xml.lua index 6d730340..3a1cea30 100644 --- a/res/layouts/pages/content_menu.xml.lua +++ b/res/layouts/pages/content_menu.xml.lua @@ -247,8 +247,9 @@ function refresh() local contents = document.contents contents:clear() + local packinfos = pack.get_info(packs_installed) for i, id in ipairs(packs_installed) do - local packinfo = pack.get_info(id) + local packinfo = packinfos[id] packinfo.id = id packs_installed[i] = {packinfo.id, packinfo.title}