summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ship_gui.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/ship_gui.c b/ship_gui.c
index 938dd0bf5..8dd4bd804 100644
--- a/ship_gui.c
+++ b/ship_gui.c
@@ -376,15 +376,12 @@ static void ShipViewWndProc(Window *w, WindowEvent *e)
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);