# HG changeset patch # User Joan Josep # Date 2024-02-11 17:47:49 # Node ID 0920b6987490cec7b75f645818b954d13cde8edc # Parent cb3e748cfe2fb3a5666d806f7fc46663fdca80c6 Fix: Redraw orders when a station feature is added/removed. (#12061) diff --git a/src/station.cpp b/src/station.cpp --- a/src/station.cpp +++ b/src/station.cpp @@ -233,6 +233,7 @@ void Station::AddFacility(StationFacilit 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 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -1695,6 +1695,7 @@ CommandCost RemoveFromRailBaseStation(Ti /* 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(TileIn /* 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(TileInd 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 st->ship_station.Clear(); st->docking_station.Clear(); st->facilities &= ~FACIL_DOCK; + SetWindowClassesDirty(WC_VEHICLE_ORDERS); } Company::Get(st->owner)->infrastructure.station -= 2;