diff --git a/ship_gui.c b/ship_gui.c --- a/ship_gui.c +++ b/ship_gui.c @@ -564,10 +564,9 @@ static void ShipViewWndProc(Window *w, W case WE_MOUSELOOP: { - Vehicle *v; - uint32 h; - v = GetVehicle(w->window_number); - h = IsShipInDepot(v) ? 1 << 7 : 1 << 11; + const Vehicle* v = GetVehicle(w->window_number); + uint32 h = IsShipInDepot(v) ? 1 << 7 : 1 << 11; + if (h != w->hidden_state) { w->hidden_state = h; SetWindowDirty(w); @@ -1012,10 +1011,11 @@ static void PlayerShipsWndProc(Window *w DrawVehicleProfitButton(v, x, y + 13); SetDParam(0, v->unitnumber); - if (IsShipInDepot(v)) + if (IsShipInDepot(v)) { str = STR_021F; - else + } else { str = v->age > v->max_age - 366 ? STR_00E3 : STR_00E2; + } DrawString(x, y + 2, str, 0); SetDParam(0, v->profit_this_year);