diff src/aircraft_cmd.cpp @ 7782:f81103463949 draft

(svn r11332) -Fix: vehicles getting a value of 0 on construction. -Fix: assertion when selling vehicles.
author rubidium <rubidium@openttd.org>
date Sun, 21 Oct 2007 16:45:00 +0000
parents 29108b13ebfe
children a7db3577709b
line wrap: on
line diff
--- a/src/aircraft_cmd.cpp
+++ b/src/aircraft_cmd.cpp
@@ -299,9 +299,9 @@
 		Vehicle *v = vl[0]; // aircraft
 		Vehicle *u = vl[1]; // shadow
 
-		v->unitnumber = unit_num;
 		v = new (v) Aircraft();
 		u = new (u) Aircraft();
+		v->unitnumber = unit_num;
 		v->direction = DIR_SE;
 
 		v->owner = u->owner = _current_player;
@@ -491,13 +491,15 @@
 
 	SET_EXPENSES_TYPE(EXPENSES_NEW_VEHICLES);
 
+	CommandCost ret(-v->value);
+
 	if (flags & DC_EXEC) {
 		// Invalidate depot
 		InvalidateWindow(WC_VEHICLE_DEPOT, v->tile);
 		DoDeleteAircraft(v);
 	}
 
-	return CommandCost(-v->value);
+	return ret;
 }
 
 /** Start/Stop an aircraft.