summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-10-20 17:11:02 +0000
committerrubidium <rubidium@openttd.org>2007-10-20 17:11:02 +0000
commit79cee7e08fe44f96271e7b0062704690fc5c9ef3 (patch)
tree0603f21de8e081cbb494ec009581487aea6e3349
parent5289aa2010b5fb249ba316f6e4b67ad5f7159120 (diff)
downloadopenttd-79cee7e08fe44f96271e7b0062704690fc5c9ef3.tar.xz
(svn r11314) -Fix [FS#1356]: stop following a vehicle when you sell/destroyed it.
-rw-r--r--src/vehicle.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/vehicle.cpp b/src/vehicle.cpp
index 21c8996f1..28fb0e64c 100644
--- a/src/vehicle.cpp
+++ b/src/vehicle.cpp
@@ -529,6 +529,14 @@ void Vehicle::PreDestructor()
if ((this->type == VEH_TRAIN && EngineHasArticPart(this)) || (this->type == VEH_ROAD && RoadVehHasArticPart(this))) {
delete this->Next();
}
+
+ Window **wp;
+ FOR_ALL_WINDOWS(wp) {
+ Window *w = *wp;
+ if (w->viewport != NULL && WP(w, vp_d).follow_vehicle == this->index) {
+ WP(w, vp_d).follow_vehicle = INVALID_VEHICLE;
+ }
+ }
}
Vehicle::~Vehicle()