From 7dcffa90422503a5067d88360a7771687be41dd7 Mon Sep 17 00:00:00 2001 From: Kyle Evans Date: Wed, 21 Feb 2018 17:33:01 +0000 Subject: [PATCH] lualoader: Don't execute menu.autoboot() for every opened menu Attempt to autoboot when we open the default menu, and only when we open the default menu. This alleviates the need for checking menu.already_autoboot, because we're not trying to autoboot every time we open a submenu. I note that escaping to loader prompt and going back to the menu (by running require('menu').run() at the loader prompt) will happily work and not re-initiate the autoboot sequence since "Escape to loader prompt" disables the autoboot_delay. --- stand/lua/menu.lua | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/stand/lua/menu.lua b/stand/lua/menu.lua index b2631dba803a..6f8cc97b402a 100644 --- a/stand/lua/menu.lua +++ b/stand/lua/menu.lua @@ -361,8 +361,10 @@ function menu.run(m) local alias_table = drawer.drawscreen(m) -- Might return nil, that's ok - local autoboot_key = menu.autoboot() - + local autoboot_key; + if m == menu.default then + autoboot_key = menu.autoboot() + end cont = true while cont do local key = autoboot_key or io.getchar() @@ -430,11 +432,6 @@ function menu.skip() end function menu.autoboot() - if menu.already_autoboot then - return nil - end - menu.already_autoboot = true - local ab = loader.getenv("autoboot_delay") if ab ~= nil and ab:lower() == "no" then return nil