--- a/src/rail_cmd.cpp Mon Mar 31 22:09:27 2008 +0000
+++ b/src/rail_cmd.cpp Thu Apr 24 11:48:09 2008 +0000
@@ -30,7 +30,6 @@
#include "newgrf_callbacks.h"
#include "newgrf_station.h"
#include "train.h"
-#include "misc/autoptr.hpp"
#include "variables.h"
#include "autoslope.h"
#include "transparency.h"
@@ -763,12 +762,10 @@
if (MayHaveBridgeAbove(tile) && IsBridgeAbove(tile)) return_cmd_error(STR_5007_MUST_DEMOLISH_BRIDGE_FIRST);
- Depot *d = new Depot(tile);
-
- if (d == NULL) return CMD_ERROR;
- AutoPtrT<Depot> d_auto_delete = d;
+ if (!Depot::CanAllocateItem()) return CMD_ERROR;
if (flags & DC_EXEC) {
+ Depot *d = new Depot(tile);
MakeRailDepot(tile, _current_player, dir, (RailType)p1);
MarkTileDirtyByTile(tile);
@@ -776,7 +773,6 @@
AddSideToSignalBuffer(tile, INVALID_DIAGDIR, _current_player);
YapfNotifyTrackLayoutChange(tile, TrackdirToTrack(DiagdirToDiagTrackdir(dir)));
- d_auto_delete.Detach();
}
return cost.AddCost(_price.build_train_depot);