aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2018-12-26 12:47:32 +0000
committerrubenwardy <rw@rubenwardy.com>2018-12-26 12:47:32 +0000
commitf12d374956c6227a073fc955c398757f9a7166bd (patch)
tree3998b377be02a419add033fc08a650a05646c694
parenta5197eaebc61ac6b555a640f36c0b427faef381d (diff)
downloadminetest-f12d374956c6227a073fc955c398757f9a7166bd.tar.gz
minetest-f12d374956c6227a073fc955c398757f9a7166bd.tar.bz2
minetest-f12d374956c6227a073fc955c398757f9a7166bd.zip
Content store: Fix bugs relating to packages list size
-rw-r--r--builtin/mainmenu/dlg_contentstore.lua12
1 files changed, 9 insertions, 3 deletions
diff --git a/builtin/mainmenu/dlg_contentstore.lua b/builtin/mainmenu/dlg_contentstore.lua
index 48856f228..6490e67f1 100644
--- a/builtin/mainmenu/dlg_contentstore.lua
+++ b/builtin/mainmenu/dlg_contentstore.lua
@@ -285,7 +285,7 @@ function store.load()
local file = io.open(target, "r")
if file then
- store.packages_full = core.parse_json(file:read("*all"))
+ store.packages_full = core.parse_json(file:read("*all")) or {}
file:close()
for _, package in pairs(store.packages_full) do
@@ -385,7 +385,7 @@ function store.get_formspec()
end
local formspec
- if #store.packages > 0 then
+ if #store.packages_full > 0 then
formspec = {
"size[12,7;true]",
"position[0.5,0.55]",
@@ -426,6 +426,12 @@ function store.get_formspec()
}
end
+ if #store.packages == 0 then
+ formspec[#formspec + 1] = "label[4,3;"
+ formspec[#formspec + 1] = fgettext("No results")
+ formspec[#formspec + 1] = "]"
+ end
+
local start_idx = (cur_page - 1) * num_per_page + 1
for i=start_idx, math.min(#store.packages, start_idx+num_per_page-1) do
local package = store.packages[i]
@@ -570,7 +576,7 @@ function store.handle_submit(this, fields, tabname, tabdata)
end
function create_store_dlg(type)
- if not store.loaded then
+ if not store.loaded or #store.packages_full == 0 then
store.load()
end