From f54e19083eb140bfd3cb187c6460636714bd5155 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Fri, 7 Jan 2022 17:38:26 +0000 Subject: [PATCH] Fix crash which could occur when removing invalidated link graph flow. --- src/linkgraph/linkgraphjob.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/linkgraph/linkgraphjob.cpp b/src/linkgraph/linkgraphjob.cpp index 761fe212c0..d9c4fe4ab7 100644 --- a/src/linkgraph/linkgraphjob.cpp +++ b/src/linkgraph/linkgraphjob.cpp @@ -153,12 +153,13 @@ void LinkGraphJob::FinaliseJob() if (new_it == flows.end()) { if (_settings_game.linkgraph.GetDistributionType(this->Cargo()) != DT_MANUAL) { if (it->Invalidate()) { + NodeID origin = it->GetOrigin(); FlowStat shares(INVALID_STATION, INVALID_STATION, 1); it->SwapShares(shares); it = ge.flows.erase(it); for (FlowStat::const_iterator shares_it(shares.begin()); shares_it != shares.end(); ++shares_it) { - RerouteCargoFromSource(st, this->Cargo(), it->GetOrigin(), shares_it->second, st->index); + RerouteCargoFromSource(st, this->Cargo(), origin, shares_it->second, st->index); } } else { ++it;