changeset 3384:87958d8ad734 draft

(svn r4192) - Fix: In the depot, moving wagons from the end of a very long train to a short train where the short train was scrolled off the window would cause a game crash. (Thanks to SimonRC for reporting.)
author peter1138 <peter1138@openttd.org>
date Fri, 31 Mar 2006 08:39:10 +0000
parents 3336ea0babd0
children 53efc04cba6c
files train_gui.c
diffstat 1 files changed, 2 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/train_gui.c
+++ b/train_gui.c
@@ -515,13 +515,10 @@
 	if (x < 0 && IsFrontEngine(v)) return (x >= -10) ? -2 : -1;
 
 	// skip vehicles that are scrolled off the left side
-	while (skip--) v = v->next;
+	while (v != NULL && skip--) v = v->next;
 
 	/* find the vehicle in this row that was clicked */
-	while ((x -= WagonLengthToPixels(v->u.rail.cached_veh_length)) >= 0) {
-		v = v->next;
-		if (v == NULL) break;
-	}
+	while (v != NULL && (x -= WagonLengthToPixels(v->u.rail.cached_veh_length)) >= 0) v = v->next;
 
 	// if an articulated part was selected, find its parent
 	while (v != NULL && IsArticulatedPart(v)) v = GetPrevVehicleInChain(v);