From a30c7f4b1ae26c4f61ab9ad86d486f44bb44cc14 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Sun, 29 Mar 2026 18:11:37 -0700 Subject: [PATCH] =?UTF-8?q?fix:=20taxi=20recovery=20was=20dead=20code=20?= =?UTF-8?q?=E2=80=94=20flag=20cleared=20before=20check?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit taxiRecoverPending_ was unconditionally reset to false in the general state cleanup, 39 lines before the recovery check that reads it. The recovery block could never execute. Removed the premature clear so mid-flight disconnect recovery can actually trigger. --- src/game/game_handler.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index ae88df3c..38a6df7f 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -4747,7 +4747,8 @@ void GameHandler::handleLoginVerifyWorld(network::Packet& packet) { taxiActivatePending_ = false; taxiClientActive_ = false; taxiClientPath_.clear(); - taxiRecoverPending_ = false; + // taxiRecoverPending_ is NOT cleared here — it must survive the general + // state reset so the recovery check below can detect a mid-flight reconnect. taxiStartGrace_ = 0.0f; currentMountDisplayId_ = 0; taxiMountDisplayId_ = 0;