diff --git a/pocket/startup.lua b/pocket/startup.lua index 03eefec..f597779 100644 --- a/pocket/startup.lua +++ b/pocket/startup.lua @@ -90,6 +90,7 @@ local function main() ---@class pkt_state pkt_state = { ui_ok = false, + ui_error = nil, shutdown = false }, @@ -179,6 +180,10 @@ local function main() parallel.waitForAll(main_thread.p_exec, render_thread.p_exec) renderer.close_ui() + + if not pkt_state.ui_ok then + println(util.c("App crashed with error: ", pkt_state.ui_error)) + end else println_ts("UI creation failed") end diff --git a/pocket/threads.lua b/pocket/threads.lua index 8cdb7ff..32120b2 100644 --- a/pocket/threads.lua +++ b/pocket/threads.lua @@ -148,8 +148,6 @@ function threads.thread__render(smem) local last_update = util.time() - local ui_message - -- thread loop while true do -- check for messages in the message queue @@ -171,9 +169,9 @@ function threads.thread__render(smem) local draw_start = util.time_ms() - pkt_state.ui_ok, ui_message = pcall(function () nav.load_app(cmd.val) end) + pkt_state.ui_ok, pkt_state.ui_error = pcall(function () nav.load_app(cmd.val) end) if not pkt_state.ui_ok then - log.fatal(util.c("RENDER: app load failed with error ", ui_message)) + log.fatal(util.c("RENDER: app load failed with error ", pkt_state.ui_error)) else log.debug("RENDER: app loaded in " .. (util.time_ms() - draw_start) .. "ms") end