summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-11-24 09:14:58 +0000
committerrubidium <rubidium@openttd.org>2007-11-24 09:14:58 +0000
commit9a70ec1cb2e181c103f821aceed0a54e86132164 (patch)
tree6ef784ac42524a7c154d6527a0cc9535269746df
parent81c7ba42afd159490d09ada3551e49a04d576c9e (diff)
downloadopenttd-9a70ec1cb2e181c103f821aceed0a54e86132164.tar.xz
(svn r11506) -Fix [FS#1471]: selling vehicles could cause the window of others to scroll to that location.
-rw-r--r--src/vehicle.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/vehicle.cpp b/src/vehicle.cpp
index 960298870..85832a711 100644
--- a/src/vehicle.cpp
+++ b/src/vehicle.cpp
@@ -537,13 +537,10 @@ void Vehicle::PreDestructor()
delete this->Next();
}
- Window **wp;
- FOR_ALL_WINDOWS(wp) {
- Window *w = *wp;
- if (w->viewport != NULL && WP(w, vp_d).follow_vehicle == this->index) {
- ScrollMainWindowTo(this->x_pos, this->y_pos); // lock the main view on the vehicle's last position
- WP(w, vp_d).follow_vehicle = INVALID_VEHICLE;
- }
+ Window *w = FindWindowById(WC_VEHICLE_VIEW, this->index);
+ if (w != NULL && WP(w, vp_d).follow_vehicle == this->index) {
+ ScrollMainWindowTo(this->x_pos, this->y_pos); // lock the main view on the vehicle's last position
+ WP(w, vp_d).follow_vehicle = INVALID_VEHICLE;
}
}