Changeset - r27563:b6236a6fd99f
[Not reviewed]
master
0 3 0
PeterN - 11 months ago 2023-06-09 21:18:55
peter1138@openttd.org
Fix: Don't restore backed up vehicle name if it's no longer unique. (#10979)
3 files changed with 7 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/order_backup.cpp
Show inline comments
 
@@ -18,6 +18,7 @@
 
#include "station_map.h"
 
#include "order_cmd.h"
 
#include "group_cmd.h"
 
#include "vehicle_func.h"
 

	
 
#include "safeguards.h"
 

	
 
@@ -83,6 +84,9 @@ void OrderBackup::DoRestore(Vehicle *v)
 
		InvalidateWindowClassesData(WC_STATION_LIST, 0);
 
	}
 

	
 
	/* Remove backed up name if it's no longer unique. */
 
	if (!IsUniqueVehicleName(this->name)) this->name.clear();
 

	
 
	v->CopyConsistPropertiesFrom(this);
 

	
 
	/* Make sure orders are in range */
src/vehicle_cmd.cpp
Show inline comments
 
@@ -746,7 +746,7 @@ CommandCost CmdDepotMassAutoReplace(DoCo
 
 * @param name Name to test.
 
 * @return True ifffffff the name is unique.
 
 */
 
static bool IsUniqueVehicleName(const std::string &name)
 
bool IsUniqueVehicleName(const std::string &name)
 
{
 
	for (const Vehicle *v : Vehicle::Iterate()) {
 
		if (!v->name.empty() && v->name == name) return false;
src/vehicle_func.h
Show inline comments
 
@@ -178,4 +178,6 @@ void CheckCargoCapacity(Vehicle *v);
 
bool VehiclesHaveSameEngineList(const Vehicle *v1, const Vehicle *v2);
 
bool VehiclesHaveSameOrderList(const Vehicle *v1, const Vehicle *v2);
 

	
 
bool IsUniqueVehicleName(const std::string &name);
 

	
 
#endif /* VEHICLE_FUNC_H */
0 comments (0 inline, 0 general)