(svn r1463) -Fix: [1099451] Game crashes after the click on Rename (see also Bug 10992). There was no check for non-selected engine
authordarkvater
Mon, 10 Jan 2005 14:24:40 +0000
changeset 968 9c47631d62dc
parent 967 cd64c19d3de4
child 969 8c4bede35fcc
(svn r1463) -Fix: [1099451] Game crashes after the click on Rename (see also Bug 10992). There was no check for non-selected engine
aircraft_gui.c
roadveh_gui.c
ship_gui.c
train_gui.c
--- a/aircraft_gui.c	Mon Jan 10 12:14:15 2005 +0000
+++ b/aircraft_gui.c	Mon Jan 10 14:24:40 2005 +0000
@@ -130,16 +130,14 @@
 				DoCommandP(w->window_number, sel_eng, 0, CcBuildAircraft, CMD_BUILD_AIRCRAFT | CMD_MSG(STR_A008_CAN_T_BUILD_AIRCRAFT));
 		} break;
 
-		case 6:	/* rename */
-			WP(w,buildtrain_d).rename_engine = WP(w,buildtrain_d).sel_engine;
-			ShowQueryString(
-				GetCustomEngineName(WP(w,buildtrain_d).sel_engine),
-				STR_A039_RENAME_AIRCRAFT_TYPE,
-				31,
-				160,
-				w->window_class,
-				w->window_number);
-			break;
+		case 6:	{ /* rename */
+			int sel_eng = WP(w,buildtrain_d).sel_engine;
+			if (sel_eng != -1) {
+				WP(w,buildtrain_d).rename_engine = sel_eng;
+				ShowQueryString(GetCustomEngineName(sel_eng),
+					STR_A039_RENAME_AIRCRAFT_TYPE, 31, 160, w->window_class, w->window_number);
+			}
+		} break;
 		}
 		break;
 
--- a/roadveh_gui.c	Mon Jan 10 12:14:15 2005 +0000
+++ b/roadveh_gui.c	Mon Jan 10 14:24:40 2005 +0000
@@ -411,16 +411,14 @@
 				DoCommandP(w->window_number, sel_eng, 0, CcBuildRoadVeh, CMD_BUILD_ROAD_VEH | CMD_MSG(STR_9009_CAN_T_BUILD_ROAD_VEHICLE));
 		} break;
 
-		case 6: /* rename */
-			WP(w,buildtrain_d).rename_engine = WP(w,buildtrain_d).sel_engine;
-			ShowQueryString(
-				GetCustomEngineName(WP(w,buildtrain_d).sel_engine),
-				STR_9036_RENAME_ROAD_VEHICLE_TYPE,
-				31,
-				160,
-				w->window_class,
-				w->window_number);
-			break;
+		case 6: { /* rename */
+			int sel_eng = WP(w,buildtrain_d).sel_engine;
+			if (sel_eng != -1) {
+				WP(w,buildtrain_d).rename_engine = sel_eng;
+				ShowQueryString(GetCustomEngineName(sel_eng),
+					STR_9036_RENAME_ROAD_VEHICLE_TYPE, 31, 160, w->window_class, w->window_number);
+			}
+		}	break;
 		}
 		break;
 
--- a/ship_gui.c	Mon Jan 10 12:14:15 2005 +0000
+++ b/ship_gui.c	Mon Jan 10 14:24:40 2005 +0000
@@ -402,17 +402,14 @@
 				DoCommandP(w->window_number, sel_eng, 0, CcBuildShip, CMD_BUILD_SHIP | CMD_MSG(STR_980D_CAN_T_BUILD_SHIP));
 		} break;
 
-		case 6:	/* rename */
-			WP(w,buildtrain_d).rename_engine = WP(w,buildtrain_d).sel_engine;
-			ShowQueryString(
-				GetCustomEngineName(WP(w,buildtrain_d).sel_engine),
-				STR_9838_RENAME_SHIP_TYPE,
-				31,
-				160,
-				w->window_class,
-				w->window_number);
-			break;
-
+		case 6:	{ /* rename */
+			int sel_eng = WP(w,buildtrain_d).sel_engine;
+			if (sel_eng != -1) {
+				WP(w,buildtrain_d).rename_engine = sel_eng;
+				ShowQueryString(GetCustomEngineName(sel_eng),
+					STR_9838_RENAME_SHIP_TYPE, 31, 160, w->window_class, w->window_number);
+			}
+		}	break;
 		}
 		break;
 
--- a/train_gui.c	Mon Jan 10 12:14:15 2005 +0000
+++ b/train_gui.c	Mon Jan 10 14:24:40 2005 +0000
@@ -200,16 +200,14 @@
 			if (sel_eng != -1)
 				DoCommandP(w->window_number, sel_eng, 0, (RailVehInfo(sel_eng)->flags & RVI_WAGON) ? CcBuildWagon : CcBuildLoco, CMD_BUILD_RAIL_VEHICLE | CMD_MSG(STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE));
 		}	break;
-		case 6:
-			WP(w,buildtrain_d).rename_engine = WP(w,buildtrain_d).sel_engine;
-			ShowQueryString(
-				GetCustomEngineName(WP(w,buildtrain_d).sel_engine),
-				STR_886A_RENAME_TRAIN_VEHICLE_TYPE,
-				31,
-				160,
-				w->window_class,
-				w->window_number);
-			break;
+		case 6: { /* rename */
+			int sel_eng = WP(w,buildtrain_d).sel_engine;
+			if (sel_eng != -1) {
+				WP(w,buildtrain_d).rename_engine = sel_eng;
+				ShowQueryString(GetCustomEngineName(sel_eng),
+					STR_886A_RENAME_TRAIN_VEHICLE_TYPE, 31, 160, w->window_class, w->window_number);
+			}
+		} break;
 		}
 	} break;