From 08eba56a28bfb5a08e2833649361e2164e671a7a Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Fri, 9 Oct 2020 01:00:13 +0100 Subject: [PATCH] TBTR: Check virtual train ownership when deleting/using as template --- src/vehicle_cmd.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/vehicle_cmd.cpp b/src/vehicle_cmd.cpp index 6c5481c4a7..d6916c6403 100644 --- a/src/vehicle_cmd.cpp +++ b/src/vehicle_cmd.cpp @@ -1091,7 +1091,7 @@ CommandCost CmdVirtualTrainFromTrain(TileIndex tile, DoCommandFlag flags, uint32 } /** - * Create a virtual train from a template vehicle. + * Delete a virtual train * @param tile unused * @param flags type of operation * @param p1 the vehicle's index @@ -1108,6 +1108,8 @@ CommandCost CmdDeleteVirtualTrain(TileIndex tile, DoCommandFlag flags, uint32 p1 if (vehicle == nullptr || vehicle->type != VEH_TRAIN) { return CMD_ERROR; } + CommandCost ret = CheckOwnership(vehicle->owner); + if (ret.Failed()) return ret; vehicle = vehicle->First(); @@ -1145,6 +1147,8 @@ CommandCost CmdReplaceTemplateVehicle(TileIndex tile, DoCommandFlag flags, uint3 if (vehicle == nullptr || vehicle->type != VEH_TRAIN) { return CMD_ERROR; } + CommandCost ret = CheckOwnership(vehicle->owner); + if (ret.Failed()) return ret; Train* train = Train::From(vehicle);