Fix: Redraw orders when a station feature is added/removed. (#12061)
This commit is contained in:
@@ -1695,6 +1695,7 @@ CommandCost RemoveFromRailBaseStation(TileArea ta, std::vector<T *> &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;
|
||||
|
Reference in New Issue
Block a user