[fix] MenuSorter: don't leave ghost top level items (#3844)

See https://github.com/koreader/koreader/pull/3773#issuecomment-379181517
pull/3850/head
onde2rock 6 years ago committed by Frans de Jonge
parent afb07a8ca7
commit d7a7a78731

@ -131,12 +131,14 @@ function MenuSorter:sort(item_table, order)
end
-- cleanup, top-level items shouldn't have sub_item_table
-- they should, however have one going in
-- Also, compress the menu table.
local menu_buttons_offset = 0
for i,top_menu in ipairs(menu_table["KOMenu:menu_buttons"]) do
if menu_table["KOMenu:menu_buttons"][i].sub_item_table then
menu_table["KOMenu:menu_buttons"][i-menu_buttons_offset] = menu_table["KOMenu:menu_buttons"][i].sub_item_table
local menu_button = menu_table["KOMenu:menu_buttons"][i].sub_item_table
menu_table["KOMenu:menu_buttons"][i] = nil
if menu_button then
menu_table["KOMenu:menu_buttons"][i-menu_buttons_offset] = menu_button
else
menu_table["KOMenu:menu_buttons"][i] = nil
menu_buttons_offset = menu_buttons_offset + 1
end
end

Loading…
Cancel
Save