fixed crash

This commit is contained in:
mamoniot
2023-02-05 18:49:52 -05:00
parent f679f6b72f
commit 95833e68ee
2 changed files with 38 additions and 26 deletions

View File

@@ -13,7 +13,8 @@
"~/.steam/steam/steamapps/common/Factorio/data/core/lualib",
"./.vscode/factorio",
"./.vscode/flib",
"/home/mami/.config/Code/User/workspaceStorage/fdae937c5189f993d370b36f3104188f/justarandomgeek.factoriomod-debug/sumneko-3rd/factorio/library"
"/home/mami/.config/Code/User/workspaceStorage/fdae937c5189f993d370b36f3104188f/justarandomgeek.factoriomod-debug/sumneko-3rd/factorio/library",
"/home/mami/.config/Code/User/workspaceStorage/95c2a8450056100ba3db30ac2a468857/justarandomgeek.factoriomod-debug/sumneko-3rd/factorio/library"
],
"Lua.workspace.userThirdParty": [
"/home/mami/.config/Code/User/workspaceStorage/fdae937c5189f993d370b36f3104188f/justarandomgeek.factoriomod-debug/sumneko-3rd",
@@ -34,9 +35,9 @@
"Lua.runtime.special": {
"__object_name": "type"
},
"Lua.runtime.plugin": "/home/mami/.config/Code/User/workspaceStorage/fdae937c5189f993d370b36f3104188f/justarandomgeek.factoriomod-debug/sumneko-3rd/factorio/plugin.lua",
"Lua.runtime.plugin": "/home/mami/.config/Code/User/workspaceStorage/95c2a8450056100ba3db30ac2a468857/justarandomgeek.factoriomod-debug/sumneko-3rd/factorio/plugin.lua",
"Lua.diagnostics.disable": [
"lowercase-global"
],
"Lua.workspace.checkThirdParty": false
"Lua.workspace.checkThirdParty": true
}

View File

@@ -682,8 +682,8 @@ end
function tick_poll_entities(map_data, mod_settings)
local tick_data = map_data.tick_data
--NOTE: the following have undefined behaviour if the item on tick_data is deleted
if map_data.total_ticks%5 == 0 then
if tick_data.last_train == nil or map_data.trains[tick_data.last_train] then
local train_id, train = next(map_data.trains, tick_data.last_train)
tick_data.last_train = train_id
if train then
@@ -694,7 +694,11 @@ function tick_poll_entities(map_data, mod_settings)
interface_raise_train_stuck(train_id)
end
end
else
tick_data.last_train = nil
end
if tick_data.last_refueler == nil or map_data.each_refuelers[tick_data.last_refueler] then
local refueler_id, _ = next(map_data.each_refuelers, tick_data.last_refueler)
tick_data.last_refueler = refueler_id
if refueler_id then
@@ -706,6 +710,10 @@ function tick_poll_entities(map_data, mod_settings)
end
end
else
tick_data.last_refueler = nil
end
else
if tick_data.last_comb == nil or map_data.to_comb[tick_data.last_comb] then
local comb_id, comb = next(map_data.to_comb, tick_data.last_comb)
tick_data.last_comb = comb_id
if comb then
@@ -715,6 +723,9 @@ function tick_poll_entities(map_data, mod_settings)
map_data.to_comb[comb_id] = nil
end
end
else
tick_data.last_comb = nil
end
end
end
---@param map_data MapData