diff options
Diffstat (limited to 'src/station_cmd.cpp')
-rw-r--r-- | src/station_cmd.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 1aa9ab0de..55b6fae14 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -641,6 +641,14 @@ static void UpdateStationSignCoord(BaseStation *st) /* clamp sign coord to be inside the station rect */ st->xy = TileXY(ClampU(TileX(st->xy), r->left, r->right), ClampU(TileY(st->xy), r->top, r->bottom)); st->UpdateVirtCoord(); + + if (!Station::IsExpected(st)) return; + Station *full_station = Station::From(st); + for (CargoID c = 0; c < NUM_CARGO; ++c) { + LinkGraphID lg = full_station->goods[c].link_graph; + if (!LinkGraph::IsValidID(lg)) continue; + LinkGraph::Get(lg)->UpdateDistances(full_station->goods[c].node, st->xy); + } } /** |