From c8788e6ca7cc26f41c819983d0677502786e8985 Mon Sep 17 00:00:00 2001 From: orwell96 Date: Mon, 10 Dec 2018 22:57:16 +0100 Subject: Fix crashes: 1. when train hit a route, nil access to already cancelled route caused crash 2. fix crash when trying to ensure_init a train that doesn't exist --- advtrains/trainlogic.lua | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'advtrains') diff --git a/advtrains/trainlogic.lua b/advtrains/trainlogic.lua index 965fcbd..fb87fca 100644 --- a/advtrains/trainlogic.lua +++ b/advtrains/trainlogic.lua @@ -222,6 +222,12 @@ local callbacks_remove, run_callbacks_remove = mkcallback("remove") -- - save files were loaded -- Additionally, this gets called outside the step cycle to initialize and/or remove a train, then occ_write_mode is set. function advtrains.train_ensure_init(id, train) + if not train then + atwarn("train_ensure_init: Called with id =",id,"but a nil train!") + atwarn(debug.traceback()) + return nil + end + train.dirty = true if train.no_step then return nil end -- cgit v1.2.3