Changeset - r14085:7ca8eb8aa6ca
[Not reviewed]
master
0 1 0
rubidium - 14 years ago 2009-12-27 09:05:00
rubidium@openttd.org
(svn r18642) -Fix [FS#3432]: when a company goes bankrupt and has vehicles on a drive through road stop that is not theirs, the 'filled' cache of the road stops would get corrupted
1 file changed with 10 insertions and 0 deletions:
0 comments (0 inline, 0 general)
src/vehicle.cpp
Show inline comments
 
@@ -46,6 +46,7 @@
 
#include "core/pool_func.hpp"
 
#include "economy_base.h"
 
#include "articulated_vehicles.h"
 
#include "roadstop_base.h"
 

	
 
#include "table/sprites.h"
 
#include "table/strings.h"
 
@@ -574,6 +575,15 @@ void Vehicle::PreDestructor()
 
		}
 
	}
 

	
 

	
 
	if (this->type == VEH_ROAD && this->IsPrimaryVehicle()) {
 
		RoadVehicle *v = RoadVehicle::From(this);
 
		if (!(v->vehstatus & VS_CRASHED) && IsInsideMM(v->state, RVSB_IN_DT_ROAD_STOP, RVSB_IN_DT_ROAD_STOP_END)) {
 
			/* Leave the drive through roadstop, when you have not already left it. */
 
			RoadStop::GetByTile(v->tile, GetRoadStopType(v->tile))->Leave(v);
 
		}
 
	}
 

	
 
	if (this->Previous() == NULL) {
 
		InvalidateWindowData(WC_VEHICLE_DEPOT, this->tile);
 
	}
0 comments (0 inline, 0 general)