summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--depot.c5
-rw-r--r--station_cmd.c4
-rw-r--r--waypoint.c4
3 files changed, 10 insertions, 3 deletions
diff --git a/depot.c b/depot.c
index 0a8e75d54..6f9ca6168 100644
--- a/depot.c
+++ b/depot.c
@@ -79,11 +79,14 @@ Depot *AllocateDepot(void)
*/
void DestroyDepot(Depot *depot)
{
+ DestinationID dest;
+
/* Clear the tile */
DoClearSquare(depot->xy);
/* Clear the depot from all order-lists */
- RemoveOrderFromAllVehicles(OT_GOTO_DEPOT, (DestinationID)depot->index);
+ dest.depot = depot->index;
+ RemoveOrderFromAllVehicles(OT_GOTO_DEPOT, dest);
/* Delete the depot-window */
DeleteWindowById(WC_VEHICLE_DEPOT, depot->xy);
diff --git a/station_cmd.c b/station_cmd.c
index 6e7feda73..135081c6d 100644
--- a/station_cmd.c
+++ b/station_cmd.c
@@ -2399,6 +2399,7 @@ static uint32 VehicleEnter_Station(Vehicle *v, TileIndex tile, int x, int y)
*/
static void DeleteStation(Station *st)
{
+ DestinationID dest;
StationID index;
Vehicle *v;
st->xy = 0;
@@ -2412,7 +2413,8 @@ static void DeleteStation(Station *st)
DeleteWindowById(WC_STATION_VIEW, index);
/* Now delete all orders that go to the station */
- RemoveOrderFromAllVehicles(OT_GOTO_STATION, (DestinationID)index);
+ dest.station = index;
+ RemoveOrderFromAllVehicles(OT_GOTO_STATION, dest);
//And do the same with aircraft that have the station as a hangar-stop
FOR_ALL_VEHICLES(v) {
diff --git a/waypoint.c b/waypoint.c
index 25abc7d66..4aeb72040 100644
--- a/waypoint.c
+++ b/waypoint.c
@@ -88,6 +88,7 @@ static void RedrawWaypointSign(const Waypoint* wp)
/* Update all signs */
void UpdateAllWaypointSigns(void)
{
+ DestinationID dest;
Waypoint *wp;
FOR_ALL_WAYPOINTS(wp) {
@@ -98,7 +99,8 @@ void UpdateAllWaypointSigns(void)
/* Internal handler to delete a waypoint */
void DestroyWaypoint(Waypoint *wp)
{
- RemoveOrderFromAllVehicles(OT_GOTO_WAYPOINT, (DestinationID)wp->index);
+ dest.waypoint = wp->index;
+ RemoveOrderFromAllVehicles(OT_GOTO_WAYPOINT, dest);
if (wp->string != STR_NULL) DeleteName(wp->string);