diff options
Diffstat (limited to 'src/engine.cpp')
-rw-r--r-- | src/engine.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/engine.cpp b/src/engine.cpp index 71d56d5cb..3bc0657c2 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -15,7 +15,6 @@ #include "aircraft.h" #include "newgrf_cargo.h" #include "group.h" -#include "misc/autoptr.hpp" #include "strings_func.h" #include "gfx_func.h" #include "functions.h" @@ -516,19 +515,15 @@ CommandCost AddEngineReplacement(EngineRenewList *erl, EngineID old_engine, Engi return CommandCost(); } - er = new EngineRenew(old_engine, new_engine); - if (er == NULL) return CMD_ERROR; - AutoPtrT<EngineRenew> er_auto_delete = er; - + if (!EngineRenew::CanAllocateItem()) return CMD_ERROR; if (flags & DC_EXEC) { + er = new EngineRenew(old_engine, new_engine); er->group_id = group; /* Insert before the first element */ er->next = (EngineRenew *)(*erl); *erl = (EngineRenewList)er; - - er_auto_delete.Detach(); } return CommandCost(); |