fixed layout memory leak

This commit is contained in:
mamoniot
2022-12-23 20:10:24 -05:00
parent dba8eef1d5
commit 022ba834c7
3 changed files with 28 additions and 1 deletions

View File

@@ -87,6 +87,19 @@ function remove_train(map_data, train_id, train)
depot.available_train_id = nil
end
remove_available_train(map_data, train_id, train)
local layout_id = train.layout_id
local count = global.layout_train_count[layout_id]
if count <= 1 then
global.layout_train_count[layout_id] = nil
global.layouts[layout_id] = nil
for _, station in pairs(global.stations) do
station.accepted_layouts[layout_id] = nil
end
else
global.layout_train_count[layout_id] = count - 1
end
map_data.trains[train_id] = nil
interface_raise_train_removed(train_id, train)
end