From 8b9eb2a96d9c1c425ff9014fdf27c82526d8376b Mon Sep 17 00:00:00 2001
From: 1F616EMO <root@1f616emo.xyz>
Date: Sun, 29 Sep 2024 06:43:27 +0800
Subject: Fix update_route receiving invalid route ID in after()

---
 advtrains_interlocking/routesetting.lua | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/advtrains_interlocking/routesetting.lua b/advtrains_interlocking/routesetting.lua
index 381fa26..fd6d595 100644
--- a/advtrains_interlocking/routesetting.lua
+++ b/advtrains_interlocking/routesetting.lua
@@ -292,7 +292,13 @@ function ilrs.update_route(sigd, tcbs, newrte, cancel)
 		end
 		if newrte then tcbs.routeset = newrte end
 		--atdebug("Setting:",tcbs.routeset)
-		local succ, rsn, cbts, cblk = ilrs.set_route(sigd, tcbs.routes[tcbs.routeset])
+		local succ, rsn, cbts, cblk
+		if tcbs.routes[tcbs.routeset] then
+			succ, rsn, cbts, cblk = ilrs.set_route(sigd, tcbs.routes[tcbs.routeset])
+		else
+			succ = false
+			rsn = attrans("Route state changed.")
+		end
 		if not succ then
 			tcbs.route_rsn = rsn
 			--atdebug("Routesetting failed:",rsn)
-- 
cgit v1.2.3