(svn r6693) -Fix: [ship view window] disable the refit button when the ship is not refitable or not stopped in a depot
authorbjarni
Sun, 08 Oct 2006 19:50:10 +0000
changeset 4779 e74142f0d7d8
parent 4778 c094f7d95011
child 4780 fe1f661dfa86
(svn r6693) -Fix: [ship view window] disable the refit button when the ship is not refitable or not stopped in a depot
ship_gui.c
--- a/ship_gui.c	Sun Oct 08 19:43:35 2006 +0000
+++ b/ship_gui.c	Sun Oct 08 19:50:10 2006 +0000
@@ -376,15 +376,12 @@
 		case WE_PAINT: {
 			Vehicle *v = GetVehicle(w->window_number);
 			StringID str;
-
-			/* Possible to refit? */
-			if (ShipVehInfo(v->engine_type)->refittable && IsShipInDepotStopped(v)) {
-				EnableWindowWidget(w, 7);
-				EnableWindowWidget(w, 8);
-			}
+			bool refitable_and_stopped_in_depot = ShipVehInfo(v->engine_type)->refittable && IsShipInDepotStopped(v);
 
 			SetWindowWidgetDisabledState(w, 7, v->owner != _local_player);
-			SetWindowWidgetDisabledState(w, 8, v->owner != _local_player);
+			SetWindowWidgetDisabledState(w, 8,
+			                             v->owner != _local_player ||      // Disable if owner is not local player
+			                             !refitable_and_stopped_in_depot); // Disable if the ship is not refitable or stopped in a depot
 
 			/* draw widgets & caption */
 			SetDParam(0, v->string_id);