(svn r6714) -Codechange: replaced a direct manipulation of windows with InvalidateWindowData() in rail_cmd.c
authorbjarni
Tue, 10 Oct 2006 08:14:30 +0000
changeset 4792 c5d474cb8623
parent 4791 cb517bd5f5b6
child 4793 7a219fdda461
(svn r6714) -Codechange: replaced a direct manipulation of windows with InvalidateWindowData() in rail_cmd.c
Moved the actual modification of railtype to WE_INVALIDATE_DATA in the train depot handler
-Codechange: added SetWindowDirty() to WE_INVALIDATE_DATA as it made no sense to update the list without making the window dirty
aircraft_gui.c
engine.c
rail_cmd.c
train_gui.c
--- a/aircraft_gui.c	Tue Oct 10 07:57:16 2006 +0000
+++ b/aircraft_gui.c	Tue Oct 10 08:14:30 2006 +0000
@@ -548,6 +548,7 @@
 
 		case WE_INVALIDATE_DATA:
 			WP(w,buildvehicle_d).data_invalidated = true;
+			SetWindowDirty(w);
 			break;
 
 		case WE_DESTROY:
--- a/engine.c	Tue Oct 10 07:57:16 2006 +0000
+++ b/engine.c	Tue Oct 10 08:14:30 2006 +0000
@@ -214,7 +214,6 @@
 	e->preview_player = 0xFF;
 	if (player == _local_player) {
 		InvalidateWindowClassesData(WC_BUILD_VEHICLE);
-		InvalidateWindowClasses(WC_BUILD_VEHICLE);
 		InvalidateWindowClasses(WC_REPLACE_VEHICLE);
 	}
 }
@@ -339,7 +338,6 @@
 
 	e->flags = (e->flags & ~ENGINE_INTRODUCING) | ENGINE_AVAILABLE;
 	InvalidateWindowClassesData(WC_BUILD_VEHICLE);
-	InvalidateWindowClasses(WC_BUILD_VEHICLE);
 	InvalidateWindowClasses(WC_REPLACE_VEHICLE);
 
 	// Now available for all players
--- a/rail_cmd.c	Tue Oct 10 07:57:16 2006 +0000
+++ b/rail_cmd.c	Tue Oct 10 08:14:30 2006 +0000
@@ -888,14 +888,9 @@
 
 		if (IsTileDepotType(tile, TRANSPORT_RAIL)) {
 			Vehicle *v;
-			Window *w;
 
 			/* Update build vehicle window related to this depot */
-			w = FindWindowById(WC_BUILD_VEHICLE, tile);
-			if (w != NULL) {
-				WP(w,buildvehicle_d).railtype = totype;
-				SetWindowDirty(w);
-			}
+			InvalidateWindowData(WC_BUILD_VEHICLE, tile);
 
 			/* update power of trains in this depot */
 			FOR_ALL_VEHICLES(v) {
--- a/train_gui.c	Tue Oct 10 07:57:16 2006 +0000
+++ b/train_gui.c	Tue Oct 10 08:14:30 2006 +0000
@@ -546,7 +546,9 @@
 			break;
 
 		case WE_INVALIDATE_DATA:
+			if (w->window_number != 0) WP(w,buildvehicle_d).railtype = GetRailType(w->window_number);
 			WP(w,buildvehicle_d).data_invalidated = true;
+			SetWindowDirty(w);
 			break;
 
 		case WE_DESTROY: