src/engine.cpp
branch0.6
changeset 10323 57d8fd25473e
parent 9129 e4a00ee7237b
--- a/src/engine.cpp	Mon Mar 31 22:09:27 2008 +0000
+++ b/src/engine.cpp	Thu Apr 24 11:48:09 2008 +0000
@@ -16,7 +16,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 @@
 		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();