From a5152be79588c9c1405f44b7299dbf615edcabdb Mon Sep 17 00:00:00 2001 From: fonsinchen Date: Thu, 16 Jan 2014 20:50:43 +0000 Subject: (svn r26263) -Fix [FS#5865]: Don't run into infinite recursion when getting next stopping station --- src/order_cmd.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp index c72f0d087..eefa249e7 100644 --- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -428,10 +428,10 @@ StationIDStack OrderList::GetNextStoppingStation(const Vehicle *v, const Order * hops); const Order *advance = this->GetNextDecisionNode( this->GetNext(next), hops); - if (advance == NULL) { - next = skip_to; - } else if (skip_to == NULL) { - next = advance; + if (advance == NULL || advance == first) { + next = (skip_to == first) ? NULL : skip_to; + } else if (skip_to == NULL || skip_to == first) { + next = (advance == first) ? NULL : advance; } else { StationIDStack st1 = this->GetNextStoppingStation(v, skip_to); StationIDStack st2 = this->GetNextStoppingStation(v, advance); -- cgit v1.2.3-54-g00ecf