diff options
Diffstat (limited to 'src/group_cmd.cpp')
-rw-r--r-- | src/group_cmd.cpp | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/src/group_cmd.cpp b/src/group_cmd.cpp index 17d82129c..685a9e53b 100644 --- a/src/group_cmd.cpp +++ b/src/group_cmd.cpp @@ -12,7 +12,6 @@ #include "train.h" #include "aircraft.h" #include "vehicle_gui.h" -#include "misc/autoptr.hpp" #include "strings_func.h" #include "functions.h" #include "window_func.h" @@ -94,20 +93,14 @@ CommandCost CmdCreateGroup(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) VehicleType vt = (VehicleType)p1; if (!IsPlayerBuildableVehicleType(vt)) return CMD_ERROR; - AutoPtrT<Group> g_auto_delete; - - Group *g = new Group(_current_player); - if (g == NULL) return CMD_ERROR; - - g_auto_delete = g; + if (!Group::CanAllocateItem()) return CMD_ERROR; if (flags & DC_EXEC) { + Group *g = new Group(_current_player); g->replace_protection = false; g->vehicle_type = vt; InvalidateWindowData(GetWCForVT(vt), (vt << 11) | VLW_GROUP_LIST | _current_player); - - g_auto_delete.Detach(); } return CommandCost(); |