From 1b3077bdc93cd361268059437408d0e0e3126443 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sat, 21 Jan 2017 00:48:28 +0000 Subject: [PATCH] TBTR: Clean up template replacements when removing company. --- src/group_cmd.cpp | 7 +++++-- src/tbtr_template_vehicle.cpp | 2 +- src/tbtr_template_vehicle.h | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/group_cmd.cpp b/src/group_cmd.cpp index 951c74f959..c725d183e6 100644 --- a/src/group_cmd.cpp +++ b/src/group_cmd.cpp @@ -349,7 +349,7 @@ CommandCost CmdDeleteGroup(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3 VehicleType vt = g->vehicle_type; /* Delete all template replacements using the just deleted group */ - deleteIllegalTemplateReplacements(g->index); + DeleteTemplateReplacementsByGroupID(g->index); /* Delete the Replace Vehicle Windows */ DeleteWindowById(WC_REPLACE_VEHICLE, g->vehicle_type); @@ -716,7 +716,10 @@ void RemoveAllGroupsForCompany(const CompanyID company) Group *g; FOR_ALL_GROUPS(g) { - if (company == g->owner) delete g; + if (company == g->owner) { + DeleteTemplateReplacementsByGroupID(g->index); + delete g; + } } } diff --git a/src/tbtr_template_vehicle.cpp b/src/tbtr_template_vehicle.cpp index d0310b0495..b378e25687 100644 --- a/src/tbtr_template_vehicle.cpp +++ b/src/tbtr_template_vehicle.cpp @@ -189,7 +189,7 @@ short TemplateVehicle::CountEnginesInChain() return count; } -short deleteIllegalTemplateReplacements(GroupID g_id) +short DeleteTemplateReplacementsByGroupID(GroupID g_id) { short del_amount = 0; const TemplateReplacement *tr; diff --git a/src/tbtr_template_vehicle.h b/src/tbtr_template_vehicle.h index 760ef88ef8..571231ab4c 100644 --- a/src/tbtr_template_vehicle.h +++ b/src/tbtr_template_vehicle.h @@ -202,6 +202,6 @@ struct TemplateReplacement : TemplateReplacementPool::PoolItem<&_template_replac TemplateReplacement* GetTemplateReplacementByGroupID(GroupID); bool IssueTemplateReplacement(GroupID, TemplateID); -short deleteIllegalTemplateReplacements(GroupID); +short DeleteTemplateReplacementsByGroupID(GroupID); #endif /* TEMPLATE_VEH_H */