changeset 4704:ea1736433c6a draft

(svn r6614) -Fix: added check to see if a newly opened refit window is different from NULL before assigning data to it
author bjarni <bjarni@openttd.org>
date Mon, 02 Oct 2006 08:41:20 +0000
parents 1a50e6487f02
children 29c1672440a6
files vehicle_gui.c
diffstat 1 files changed, 30 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/vehicle_gui.c
+++ b/vehicle_gui.c
@@ -432,34 +432,38 @@
 	DeleteWindowById(WC_VEHICLE_REFIT, v->index);
 
 	_alloc_wnd_parent_num = v->index;
+
 	w = AllocateWindowDesc(&_vehicle_refit_desc);
-	w->window_number = v->index;
-	w->caption_color = v->owner;
-	w->vscroll.cap = 8;
-	w->resize.step_height = 14;
-	WP(w, refit_d).sel  = -1;
-	WP(w, refit_d).list = BuildRefitList(v);
-	if (v->type == VEH_Train) WP(w, refit_d).length = CountVehiclesInChain(v);
-	SetVScrollCount(w, WP(w, refit_d).list->num_lines);
+
+	if (w != NULL) {
+		w->window_number = v->index;
+		w->caption_color = v->owner;
+		w->vscroll.cap = 8;
+		w->resize.step_height = 14;
+		WP(w, refit_d).sel  = -1;
+		WP(w, refit_d).list = BuildRefitList(v);
+		if (v->type == VEH_Train) WP(w, refit_d).length = CountVehiclesInChain(v);
+		SetVScrollCount(w, WP(w, refit_d).list->num_lines);
 
-	switch (v->type) {
-		case VEH_Train:
-			w->widget[6].data     = STR_RAIL_REFIT_VEHICLE;
-			w->widget[6].tooltips = STR_RAIL_REFIT_TO_CARRY_HIGHLIGHTED;
-			break;
-		case VEH_Road:
-			w->widget[6].data     = STR_REFIT_ROAD_VEHICLE;
-			w->widget[6].tooltips = STR_REFIT_ROAD_VEHICLE_TO_CARRY_HIGHLIGHTED;
-			break;
-		case VEH_Ship:
-			w->widget[6].data     = STR_983C_REFIT_SHIP;
-			w->widget[6].tooltips = STR_983E_REFIT_SHIP_TO_CARRY_HIGHLIGHTED;
-			break;
-		case VEH_Aircraft:
-			w->widget[6].data     = STR_A03D_REFIT_AIRCRAFT;
-			w->widget[6].tooltips = STR_A03F_REFIT_AIRCRAFT_TO_CARRY;
-			break;
-		default: NOT_REACHED();
+		switch (v->type) {
+			case VEH_Train:
+				w->widget[6].data     = STR_RAIL_REFIT_VEHICLE;
+				w->widget[6].tooltips = STR_RAIL_REFIT_TO_CARRY_HIGHLIGHTED;
+				break;
+			case VEH_Road:
+				w->widget[6].data     = STR_REFIT_ROAD_VEHICLE;
+				w->widget[6].tooltips = STR_REFIT_ROAD_VEHICLE_TO_CARRY_HIGHLIGHTED;
+				break;
+			case VEH_Ship:
+				w->widget[6].data     = STR_983C_REFIT_SHIP;
+				w->widget[6].tooltips = STR_983E_REFIT_SHIP_TO_CARRY_HIGHLIGHTED;
+				break;
+			case VEH_Aircraft:
+				w->widget[6].data     = STR_A03D_REFIT_AIRCRAFT;
+				w->widget[6].tooltips = STR_A03F_REFIT_AIRCRAFT_TO_CARRY;
+				break;
+			default: NOT_REACHED();
+		}
 	}
 }