Mercurial > hg > openttd
changeset 18733:0ccac256adb9 draft
(svn r23581) -Fix (r23518) [FS#4890]: Cloning of vehicles crashed.
author | frosch <frosch@openttd.org> |
---|---|
date | Sat, 17 Dec 2011 21:22:10 +0000 |
parents | 2878ba8fde47 |
children | efed00454d8b |
files | src/vehicle_cmd.cpp |
diffstat | 1 files changed, 11 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/vehicle_cmd.cpp +++ b/src/vehicle_cmd.cpp @@ -207,7 +207,15 @@ return ret; } -/** Helper to run the refit cost callback. */ +/** + * Helper to run the refit cost callback. + * @param v The vehicle we are refitting, can be NULL. + * @param engine_type Which engine to refit + * @param new_cid Cargo type we are refitting to. + * @param new_subtype New cargo subtype. + * @param [out] auto_refit_allowed The refit is allowed as an auto-refit. + * @return Price for refitting + */ static int GetRefitCostFactor(const Vehicle *v, EngineID engine_type, CargoID new_cid, byte new_subtype, bool *auto_refit_allowed) { /* Prepare callback param with info about the new cargo type. */ @@ -228,7 +236,7 @@ } *auto_refit_allowed = e->info.refit_cost == 0; - return (v->cargo_type != new_cid) ? e->info.refit_cost : 0; + return (v == NULL || v->cargo_type != new_cid) ? e->info.refit_cost : 0; } /** @@ -237,8 +245,8 @@ * @param engine_type Which engine to refit * @param new_cid Cargo type we are refitting to. * @param new_subtype New cargo subtype. + * @param [out] auto_refit_allowed The refit is allowed as an auto-refit. * @return Price for refitting - * @return[out] auto_refit_allowed The refit is allowed as an auto-refit. */ static CommandCost GetRefitCost(const Vehicle *v, EngineID engine_type, CargoID new_cid, byte new_subtype, bool *auto_refit_allowed) {