(svn r14305) -Fix [FS#2294] (r5033): [YAPF] Only reserve road slots for multistop when they are really reachable.
authorfrosch
Fri, 12 Sep 2008 23:23:41 +0000
changeset 10121 f29f9f818ce4
parent 10120 f158a34ecdea
child 10122 c524226103f1
(svn r14305) -Fix [FS#2294] (r5033): [YAPF] Only reserve road slots for multistop when they are really reachable.
src/yapf/yapf_road.cpp
--- a/src/yapf/yapf_road.cpp	Fri Sep 12 22:52:48 2008 +0000
+++ b/src/yapf/yapf_road.cpp	Fri Sep 12 23:23:41 2008 +0000
@@ -322,14 +322,15 @@
 		TrackdirBits dst_td_bits = TrackStatusToTrackdirBits(GetTileTrackStatus(dst_tile, TRANSPORT_ROAD, v->u.road.compatible_roadtypes));
 		Yapf().SetDestination(dst_tile, dst_td_bits);
 
-		// find the best path
-		Yapf().FindPath(v);
-
 		// if path not found - return distance = UINT_MAX
 		uint dist = UINT_MAX;
+
+		// find the best path
+		if (!Yapf().FindPath(v)) return dist;
+
 		Node *pNode = Yapf().GetBestNode();
 		if (pNode != NULL) {
-			// path was found or at least suggested
+			// path was found
 			// get the path cost estimate
 			dist = pNode->GetCostEstimate();
 		}