diff --git a/src/station.cpp b/src/station.cpp index 820299bc6a..be1ec24d80 100644 --- a/src/station.cpp +++ b/src/station.cpp @@ -233,6 +233,7 @@ void Station::AddFacility(StationFacility new_facility_bit, TileIndex facil_xy) this->facilities |= new_facility_bit; this->owner = _current_company; this->build_date = TimerGameCalendar::date; + SetWindowClassesDirty(WC_VEHICLE_ORDERS); } /** diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 9e10faa9d0..ef8e6bc7e2 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -1695,6 +1695,7 @@ CommandCost RemoveFromRailBaseStation(TileArea ta, std::vector &affected_st /* if we deleted the whole station, delete the train facility. */ if (st->train_station.tile == INVALID_TILE) { st->facilities &= ~FACIL_TRAIN; + SetWindowClassesDirty(WC_VEHICLE_ORDERS); SetWindowWidgetDirty(WC_STATION_VIEW, st->index, WID_SV_TRAINS); MarkCatchmentTilesDirty(); st->UpdateVirtCoord(); @@ -2142,6 +2143,7 @@ static CommandCost RemoveRoadStop(TileIndex tile, DoCommandFlag flags, int repla /* removed the only stop? */ if (*primary_stop == nullptr) { st->facilities &= (is_truck ? ~FACIL_TRUCK_STOP : ~FACIL_BUS_STOP); + SetWindowClassesDirty(WC_VEHICLE_ORDERS); } } else { /* tell the predecessor in the list to skip this stop */ @@ -2574,6 +2576,7 @@ static CommandCost RemoveAirport(TileIndex tile, DoCommandFlag flags) st->airport.Clear(); st->facilities &= ~FACIL_AIRPORT; + SetWindowClassesDirty(WC_VEHICLE_ORDERS); InvalidateWindowData(WC_STATION_VIEW, st->index, -1); @@ -2827,6 +2830,7 @@ static CommandCost RemoveDock(TileIndex tile, DoCommandFlag flags) st->ship_station.Clear(); st->docking_station.Clear(); st->facilities &= ~FACIL_DOCK; + SetWindowClassesDirty(WC_VEHICLE_ORDERS); } Company::Get(st->owner)->infrastructure.station -= 2;