Skip to content

Commit 926272b

Browse files
authored
Merge pull request #560 from wpferguson/script_manager_delayed_start
script_manager - delay script start until all libraries are scanned
2 parents edeceb2 + 363524f commit 926272b

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

tools/script_manager.lua

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ sm.log_level = DEFAULT_LOG_LEVEL
178178
]]
179179

180180
sm.scripts = {}
181+
sm.start_queue = {}
181182
sm.page_status = {}
182183
sm.page_status.num_buttons = DEFAULT_BUTTONS_PER_PAGE
183184
sm.page_status.buttons_created = 0
@@ -595,6 +596,17 @@ local function deactivate(script)
595596
restore_log_level(old_log_level)
596597
end
597598

599+
local function start_scripts()
600+
for _, script in ipairs(sm.start_queue) do
601+
activate(script)
602+
end
603+
sm.start_queue = {}
604+
end
605+
606+
local function queue_script_to_start(script)
607+
table.insert(sm.start_queue, script)
608+
end
609+
598610
local function add_script_name(name, path, folder)
599611
local old_log_level = set_log_level(sm.log_level)
600612

@@ -614,7 +626,7 @@ local function add_script_name(name, path, folder)
614626
table.insert(sm.scripts[folder], script)
615627

616628
if pref_read(script.script_name, "bool") then
617-
activate(script)
629+
queue_script_to_start(script)
618630
else
619631
pref_write(script.script_name, "bool", false)
620632
end
@@ -821,6 +833,7 @@ local function scan_repositories()
821833
end
822834
end
823835

836+
start_scripts()
824837
update_script_update_choices()
825838

826839
restore_log_level(old_log_level)

0 commit comments

Comments
 (0)