changeset 9862:699b265b904b draft

(svn r14007) -Fix [FS#2098]: Notify vehicle windows when their internal state is botched up from outside.
author frosch <frosch@openttd.org>
date Wed, 06 Aug 2008 19:00:31 +0000
parents 9d1b7d450eb3
children 3db7ce31355e
files src/order_gui.cpp src/vehicle_gui.cpp
diffstat 2 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/order_gui.cpp
+++ b/src/order_gui.cpp
@@ -619,6 +619,12 @@
 		this->FindWindowPlacementAndResize(desc);
 	}
 
+	virtual void OnInvalidateData(int data = 0)
+	{
+		/* Autoreplace replaced the vehicle */
+		this->vehicle = GetVehicle(this->window_number);
+	}
+
 	virtual void OnPaint()
 	{
 		bool shared_orders = this->vehicle->IsOrderListShared();
--- a/src/vehicle_gui.cpp
+++ b/src/vehicle_gui.cpp
@@ -642,7 +642,7 @@
 	if (w != NULL) {
 		w->window_number = to_index;
 		if (w->viewport != NULL) w->viewport->follow_vehicle = to_index;
-		w->SetDirty();
+		if (to_index != INVALID_VEHICLE) InvalidateThisWindowData(w);
 	}
 }