java-topology/defects/openttd-0002/patch/openttd-0002.patch

59 lines
2 KiB
Diff

# UNDF: UNDF-2026-000000968
--- a/src/rail_cmd.cpp
+++ b/src/rail_cmd.cpp
@@ -41,7 +41,7 @@
#include "safeguards.h"
-typedef std::vector<Train *> TrainList;
+typedef std::unordered_set<Train *> TrainList;
/**
* Convert rail type for an area.
@@ -1625,7 +1625,7 @@
MarkTileDirtyByTile(tile);
/* update power of train on this tile */
for (Vehicle *v : VehiclesOnTile(tile)) {
- if (v->type == VEH_TRAIN) include(affected_trains, Train::From(v)->First());
+ if (v->type == VEH_TRAIN) affected_trains.insert(Train::From(v)->First());
}
}
}
@@ -1705,10 +1705,10 @@
SetRailType(endtile, totype);
for (Vehicle *v : VehiclesOnTile(tile)) {
- if (v->type == VEH_TRAIN) include(affected_trains, Train::From(v)->First());
+ if (v->type == VEH_TRAIN) affected_trains.insert(Train::From(v)->First());
}
for (Vehicle *v : VehiclesOnTile(endtile)) {
- if (v->type == VEH_TRAIN) include(affected_trains, Train::From(v)->First());
+ if (v->type == VEH_TRAIN) affected_trains.insert(Train::From(v)->First());
}
--- a/src/road_cmd.cpp
+++ b/src/road_cmd.cpp
@@ -49,7 +49,7 @@
#include "safeguards.h"
-typedef std::vector<RoadVehicle *> RoadVehicleList;
+typedef std::unordered_set<RoadVehicle *> RoadVehicleList;
/**
* Convert road type for an area.
@@ -2574,7 +2574,7 @@
/* update power of train on this tile */
for (Vehicle *v : VehiclesOnTile(tile)) {
- if (v->type == VEH_ROAD) include(affected_rvs, RoadVehicle::From(v)->First());
+ if (v->type == VEH_ROAD) affected_rvs.insert(RoadVehicle::From(v)->First());
}
@@ -2633,10 +2633,10 @@
for (Vehicle *v : VehiclesOnTile(tile)) {
- if (v->type == VEH_ROAD) include(affected_rvs, RoadVehicle::From(v)->First());
+ if (v->type == VEH_ROAD) affected_rvs.insert(RoadVehicle::From(v)->First());
}
for (Vehicle *v : VehiclesOnTile(endtile)) {
- if (v->type == VEH_ROAD) include(affected_rvs, RoadVehicle::From(v)->First());
+ if (v->type == VEH_ROAD) affected_rvs.insert(RoadVehicle::From(v)->First());
}