players.c
changeset 2811 a2f26f7361e3
parent 2795 20eb5c48fe2b
child 2817 58dcead3f545
--- a/players.c	Fri Dec 30 22:09:01 2005 +0000
+++ b/players.c	Mon Jan 02 19:55:09 2006 +0000
@@ -710,6 +710,7 @@
 		case 3: {
 			EngineID old_engine_type = GB(p2, 0, 16);
 			EngineID new_engine_type = GB(p2, 16, 16);
+			int32 cost;
 
 			if (new_engine_type != INVALID_ENGINE) {
 				/* First we make sure that it's a valid type the user requested
@@ -729,10 +730,14 @@
 				if (!HASBIT(GetEngine(new_engine_type)->player_avail, _current_player))
 					return CMD_ERROR;
 
-				return AddEngineReplacement(p, old_engine_type, new_engine_type, flags);
+				cost = AddEngineReplacement(p, old_engine_type, new_engine_type, flags);
 			} else {
-				return RemoveEngineReplacement(p, old_engine_type, flags);
+				cost = RemoveEngineReplacement(p, old_engine_type, flags);
 			}
+
+			if (IsLocalPlayer()) InvalidateWindow(WC_REPLACE_VEHICLE, GetEngine(old_engine_type)->type);
+
+			return cost;
 		}
 
 		case 4: