(svn r8147) -Fix: [autoreplace] v->leave_depot_instantly was not always reset correctly

While it's not certain if this would have any serious sideeffects (or any at all), it's reset when intended now
This commit is contained in:
bjarni 2007-01-15 17:32:42 +00:00
parent 0fbdae2828
commit 0026ea84d1
1 changed files with 6 additions and 6 deletions

View File

@ -2138,7 +2138,7 @@ static int32 MaybeReplaceVehicle(Vehicle *v, bool check, bool display_costs)
const Player *p = GetPlayer(v->owner);
byte flags = 0;
int32 cost, temp_cost = 0;
bool stopped = false;
bool stopped;
/* Remember the length in case we need to trim train later on
* If it's not a train, the value is unused
@ -2156,11 +2156,11 @@ static int32 MaybeReplaceVehicle(Vehicle *v, bool check, bool display_costs)
assert(v->vehstatus & VS_STOPPED); // the vehicle should have been stopped in VehicleEnteredDepotThisTick() if needed
if (v->leave_depot_instantly) {
// we stopped the vehicle to do this, so we have to remember to start it again when we are done
// we need to store this info as the engine might be replaced and lose this info
stopped = true;
}
/* Remember the flag v->leave_depot_instantly because if we replace the vehicle, the vehicle holding this flag will be sold
* If it is set, then we only stopped the vehicle to replace it (if needed) and we will need to start it again.
* We also need to reset the flag since it should remain false except from when the vehicle enters a depot until autoreplace is handled in the same tick */
stopped = v->leave_depot_instantly;
v->leave_depot_instantly = false;
for (;;) {
cost = 0;